我有一个textarea。我限制用户使用jQuery在该textarea中只输入100个字符。它工作正常..但我的代码也计算空间。我不希望我的功能将空间算作角色。键盘的所有其他输入都被计为不包括空格的字符。
这是我的jQuery功能。
$(document).ready(function(){
var totalChars = 100; //Total characters allowed in textarea
var countTextBox = $('#counttextarea') // Textarea input box
var charsCountEl = $('#countchars'); // Remaining chars count will be displayed here
charsCountEl.text(totalChars); //initial value of countchars element
countTextBox.keyup(function() { //user releases a key on the keyboard
var thisChars = this.value.replace(/{.*}/g, '').length; //get chars count in textarea
if(thisChars > totalChars) //if we have more chars than it should be
{
var CharsToDel = (thisChars-totalChars); // total extra chars to delete
this.value = this.value.substring(0,this.value.length-CharsToDel); //remove excess chars from textarea
}else{
charsCountEl.text( totalChars - thisChars ); //count remaining chars
}
});
});
我的HTML代码如下:
<textarea name="counttextarea" id="counttextarea" cols="30" rows="8"></textarea><br />
<span name="countchars" id="countchars"></span> Characters Left
这是一个小提琴http://jsfiddle.net/6C8zn/
答案 0 :(得分:1)
您的正则表达式不正确。
而不是
var thisChars = this.value.replace(/{.*}/g, '').length; //get chars count in textarea
使用其中任何一个
var thisChars = this.value.replace(/ /g, '').length;
var thisChars = this.value.replace(/\s/g, '').length;