JS區分中英文字元的兩種方法: 正則和charCodeAt()方法

來源:互聯網
上載者:User

 

 

 

JS區分中英文字元的兩種方法: 正則和charCodeAt()方法。

正則無疑是最強大的判斷各種條件的方法, 最近也在研習它, 雖然枯燥, 但仍有樂趣. 用它來判斷一個雙位元組的中文字元也是輕而易舉地. 而判斷中文字元,  簡單且執行效率高.

 

regExpForm.onblur=function(){        entryVal=this.value;        entryLen=entryVal.length;        cnChar=entryVal.match(/[^\x00-\x80]/g);//利用match方法檢索出中文字元並返回一個存放中文的數組        entryLen =cnChar.length;//算出實際的字元長度    }

 

第二種方法是通過charCodeAt()方法判斷Unicode碼值, 若大於255即為中文字元, 它的執行效率沒有正則高, 也沒有正則簡單.

 

entryVal=this.value;        entryLen=entryVal.length;        for(var i=0;i<entryVal.length;i  ){            if(entryVal.charCodeAt(i)>255){//遍曆判斷字串中每個字元的Unicode碼,大於255則為中文                cnArr.push(entryVal[i]);//講合格值插入到中文字元數組中                //注意一個小bug,push是向數組的末尾添加一個或多個元素並返回新的長度,所以未重新整理的情況下反覆blur會累加字元值            }        }        entryLen =cnArr.length;

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.