在js中校验汉字的长度时,通常有个惯性都认为一个汉字占两个字符,这是不正确的,具体校验如下:
var zwcm = document.getElementById("zwcm").value;
var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?]");
if(zwcm!=""){
if(zwcm.getBytes()>3){
for (var i = 0; i < zwcm.length; i++) {
if(zwcm.substr(i, 1).search(pattern)!=-1){
alert("请录入正确的船名!");
return;
}
}
}else{
alert("中文船名长度不能低于4个字符!");
return;
}
}
String.prototype.getBytes = function() {
var cArr = this.match(/[^\x00-\xff]/ig);
return this.length + (cArr == null ? 0 : cArr.length);
}
本文介绍了一种使用JavaScript校验中文字符串长度的方法,并提供了一个实用的函数用于计算包含汉字的字符串的实际长度。该方法考虑了汉字及特殊字符的正确长度表示。
1995

被折叠的 条评论
为什么被折叠?



