字符串长度,区分中英文

  有的时候,我们计算一个字符串长度的时候,需要区分中文和英文,这个时候用 "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 匹配特殊字符

 

posted @ 2015-06-04 13:08  zhongpingwang  阅读(1051)  评论(0编辑  收藏  举报