系统中有时候会遇到这种情况:让用户输入某一项内容,只允许输入5个汉字或者10个字符,这时,我们单纯的通过“document.cnwebform.title.value.length”是无法判断汉字的,只能通过统计字节数来判断了。如下:
/**
* 统计字符串字节数
*
* return integer
*/
String.prototype.ByteCount = function()
{
txt = this.replace(/(<.*?>)/ig,'');
txt = txt.replace(/([u0391-uFFE5])/ig, '11');
var count = txt.length;
return count;
}
通过以上函数我们就可以统计用户输入的字节数了,调用方法:
var count = document.cnwebform.title.value.ByteCount();
count就是用户输入的字节数,因为汉字占用两个字节,我们就可以统计出来汉字和字符的数目了:
if ( count < 10|| count > 20) {
alert("字数限定在5~10个汉字,或者10~20个英文字符。");
}