有的时候,我们计算一个字符串长度的时候,需要区分中文和英文,这个时候用 "abcd我".length 是 5 就不对了,应该是 6 ,怎么办呢,有人写了一个循环,判断,用charAt这样也是可以的,但是有一种更简单的方式叫:正则表达式:
var rex=/[\u4e00-\u9fa5]/g 匹配所有的中文
我们可以这样
"你y".replace(/[\u4e00-\u9fa5]/g,"xx").length
还可以:
/[^\x00-\xff]/g 表示匹配Ascii码大于255的那些字符
"你y".replace(/[^\x00-\xff]/g,"xx").length
区别:下面这个如果是中文的符号会算两个字符
/[^\w\u4e00-\u9fa5]/g 匹配特殊字符