计算文本区域中的字符和换行符
Counting chars and linebreaks in textarea
我正在开发一个jQuery函数,它允许在文本区域中计算字符和换行符。到目前为止,计算字符是有效的,但我还没有设法实现一旦达到设置的字符限制,用户就不能输入。
我的小提琴来了:
http://jsfiddle.net/1m0srn3f/HTML:<textarea id="exampleArea"></textarea>
<p id="left_chars">200</p>
JS:
(function($) {
$.fn.extend({
limiter : function(limit, charsBox, subtractionOnEnter) {
$(this).on("keyup focus", function(e) {
setCount(this, charsBox, subtractionOnEnter, e);
});
$(this).on("focus", function() {
setCount(this, charsBox, subtractionOnEnter);
});
function setCount(src, charsBox, subtractionOnEnter, e) {
// get number of current chars in text
var chars = src.value.length;
// Process linebreaks
if (subtractionOnEnter !== undefined) {
// Look for linebreaks ("'n" occurences)
var matches = src.value.match(/'n/g);
// count them, if there are any
var linebreaks = matches ? matches.length : 0;
console.log('number of linebreaks: '+linebreaks);
// substract linebreak chars equivalents from chars
chars += (linebreaks * subtractionOnEnter);
}
console.log('final chars: '+chars);
// Update indication of remaining chars
charsBox.html(limit - chars);
}
setCount($(this)[0], charsBox);
}
});
})(jQuery);
$('#exampleArea').limiter(200, $('#left_chars'), 50);
这个答案来自于SO上的一个类似问题,它似乎正在像你想要的那样工作。
jQuery(document).ready(function($) {
var max = 400;
$('textarea.max').keypress(function(e) {
if (e.which < 0x20) {
// e.which < 0x20, then it's not a printable character
// e.which === 0 - Not a character
return; // Do nothing
}
if (this.value.length == max) {
e.preventDefault();
} else if (this.value.length > max) {
// Maximum exceeded
this.value = this.value.substring(0, max);
}
});
}); //end if ready(fn)
相关文章:
- 如何在映射数组中添加换行符
- JQuery:向多个匹配结果添加换行符的最简单方法
- 在文本区域中使用jQuery.text()保持换行符
- javascript替换换行符和特殊字符
- 换行符拆分返回“”;未定义”;
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- javascript是否有一个选项可以使句点与任何字符匹配,包括换行符
- 如何在指定字符后添加换行符
- 用换行符替换字符
- 删除或重复的非单词字符,如HTML文本区域中的换行符,这些字符会导致modsecurity中的错误
- 显示文本中的x个字符,当单击href时,用换行符显示其余字符
- 如何在每80个字符后插入换行符
- 特殊字符前的换行符
- 计算文本区域中的字符和换行符
- JSON:处理textArea中的换行符(和其他无效的JSON字符)
- 如何从PHP字符串中删除所有换行符和转义字符?
- Angular.js textarea字符计数,排除空格和换行符计数
- CSV文件中的 字符不被视为换行符
- 如何在javascript中每三个字符添加一个换行符
- 找到一个字符并插入换行符