需要在限制字符长度的标签中加入 事件οnkeyup=”subCharStr(this,400)”//400表示400个字符 200个汉字 eg:
<input onkeyup="subCharStr(this,400)" />
....
<textarea onkeyup="subCharStr(this,400)" />
输入超过字符长度的内容的时候 自动删除超出部分
function fucCheckLength(strTemp) {
var i, sum;
sum = 0;
for (i = 0; i < strTemp.length; i++) {
if ((strTemp.charCodeAt(i) >= 0) && (strTemp.charCodeAt(i) <= 255)) {
sum = sum + 1;
} else {
sum = sum + 2;
}
}
return sum;
}
function subCharStr(e,n) {
var str = e.value;
var _len = fucCheckLength(str);
if (_len > n) {
var _newLen = Math.floor(n / 2);
var _strLen = str.length;
var _newStr = "";
for (var i = _newLen; i <= _strLen; i++) {
var tmpStr = str.substr(0, i);
if (fucCheckLength(tmpStr) > n) {
// alert("请输入少于xxx个汉字或者xxx个字符内容")
e.value=_newStr
return _newStr;
break;
} else {
_newStr = tmpStr;
}
}
} else {
e.value=str
return str;
}
}