虚拟主机域名注册-常见问题 → → JAVASCRIPT | |||||||
JAVASCRIPT统计字符串长度 正确统计中文字符
在编写javascript验证的时候,有时候我们需要将中文字符当成2个字符来判断,而javascript默认会将中文当成一个字符! 比如,我们需要取得"我今年18岁"这个字符串的长度,直接用javascript: <script> var str = '我今年18岁'; document.write(str.length); //打印结果是 6 </script> 而我们需要获得的长度,实际是需要把中文按照两个字符处理的话,理论上结果应该是 10才对,这个时候,我们需要使用javascript里面的正则表达式来进行匹配,代码如下: <script> function cLength(str){ //匹配非中文的正则表达式 var reg = /[^\u4E00-\u9FA5\uf900-\ufa2d]/g; var temp = str.replace(reg,''); return parseInt(temp.length)+parseInt(str.length); } var str="我今年18岁"; document.write(cLength(str)); //打印结果 10 </script> 原理: 总长度 = 中文字符*2 + 普通字符*1 首先将非中文字符去掉获得长度即中文的长度(按1个字符长度),然后再加上字符串的长度(中文也是取1个字符长度),加起来就是我们所需要的结果!上面的逻辑可能稍微有点难理解,但是当你理顺了,其实是非常简单的,呵呵!欢迎大家和我交流JS方面的东西,西部数码代理客服-彭:QQ275400726
|
|||||||
>> 相关文章 | |||||||