一个中文识别为2
检验值是否小于指定长度
varField 值
limit_len 长度
返回值:数字
如>=0则符合
- function getLeftChars(varField,limit_len)
- {
- var i = 0;
- var counter = 0;
- var cap = limit_len;
- var j=0;
- for (i = 0; i< varField.value.length; i++)
- {
- if (varField.value.charCodeAt(i) > 127 || varField.value.charCodeAt(i) == 94)
- {
- j=j+2;
- }
- else
- {
- j=j+1
- }
- } //结束FOR循环
- //var leftchars = cap - varField.value.length;
- var leftchars = cap - j;
- return (leftchars);
- }
- function onCharsChange(varField,a_str,a_limit)
- {
- var leftChars = getLeftChars(varField,a_limit);
- if ( leftChars >= 0)
- {
- return true;
- }
- else
- {
- ls_str = a_str + "超过字数(" + a_limit + "个)限制!";
- window.alert(ls_str);
- //var len = document.thform.ti.value.length + leftChars;
- //document.login.message.value = document.login.ti.value.substring(0, len);
- varField.value=""
- return false;
- }
- }
- <input type="text" name="un" size=15 onblur="onCharsChange(this,'用户名',20)" onchange="onCharsChange(this,'用户名',20)">