字符串长度判断(中英文区分)

简单判断字符串长度很简单,如果要区分中英文,例如1个中文字符等价于2个英文字符(等),可以使这正则做控制,先看代码:

if (name.replace(/[^\x00-\xff]/g, "**").length === 16) {
     _this.pageview.showTip({text: '分类名称长度超过8个字符'});
     return;
} 

关键在于[^\x00-\xff], 其实 就是 \xnn 这个匹配, 对应的也就是ASCII代码中十六进制代码为nn的字符,所以,[^\x00-\xff] 表示匹配非单字节的字符,例如汉字;单字节字符包括英文字母(符号)、数字……

所以这里的正则思路,也就是将汉字等非单字节字符的替换为2个单字节字符,这样统计的时候根据限制的数目*2就可以了。

你可能感兴趣的:(字符串长度判断(中英文区分))