zoukankan      html  css  js  c++  java
  • 区分中英文字符的两种方法

    JS区分中英文字符的两种方法: 正则和charCodeAt()方法。

    正则无疑是最强大的判断各种条件的方法, 最近也在研习它, 虽然枯燥, 但仍有乐趣. 用它来判断一个双字节的中文字符也是轻而易举地. 而判断中文字符,  简单且执行效率高.


     

    [javascript] view plain copy
     
    1. regExpForm.onblur=function(){  
    2.         entryVal=this.value;  
    3.         entryLen=entryVal.length;  
    4.         cnChar=entryVal.match(/[^x00-x80]/g);//利用match方法检索出中文字符并返回一个存放中文的数组  
    5.         entryLen =cnChar.length;//算出实际的字符长度  
    6.     }  


     


    第二种方法是通过charCodeAt()方法判断Unicode码值, 若大于255即为中文字符, 它的执行效率没有正则高, 也没有正则简单.


     

    [javascript] view plain copy
     
    1. entryVal=this.value;  
    2.         entryLen=entryVal.length;  
    3.         for(var i=0;i<entryVal.length;i  ){  
    4.             if(entryVal.charCodeAt(i)>255){//遍历判断字符串中每个字符的Unicode码,大于255则为中文  
    5.                 cnArr.push(entryVal[i]);//讲符合条件的值插入到中文字符数组中  
    6.                 //注意一个小bug,push是向数组的末尾添加一个或多个元素并返回新的长度,所以未刷新的情况下反复blur会累加字符值  
    7.             }  
    8.         }  
    9.         entryLen =cnArr.length;  
  • 相关阅读:
    JS加载机制
    js原型和原型链(用代码理解代码)
    解决echarts图形由于label过长导致文字显示不全问题
    微信小程序setData()异常
    Add GNOME to a CentOS Minimal Install
    vim的tab缩进及用空格设置
    ORA-12547: TNS:lost contact
    python+Django实现Nagios自动化添加监控项目
    python <tab>自动补全
    电信服务规范
  • 原文地址:https://www.cnblogs.com/autismtune/p/5392451.html
Copyright © 2011-2022 走看看