国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

區(qū)分中英文字符的兩種方法(正則和charCodeAt())

2019-11-21 00:09:17
字體:
供稿:網(wǎng)友
比如這次用到的我先前介紹過的Vanadium表單驗證插件, 因為是E文中不存在占2個字符的字, 所以, 區(qū)分中英文字符就得自己擴展. 本文就將介紹兩種區(qū)分中英文字符的方法: 利用正則和charCodeAt方法區(qū)分中英文字符.

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]

正則無疑是最強大的判斷各種條件的方法, 最近也在研習(xí)它, 雖然枯燥, 但仍有樂趣. 用它來判斷一個雙字節(jié)的中文字符也是輕而易舉地. 而判斷中文字符, Mr.Think也是非常推薦用這種方法的, 簡單且執(zhí)行效率高.
核心代碼如下:
復(fù)制代碼 代碼如下:

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

第二種方法是通過charCodeAt()方法判斷Unicode碼值, 若大于255即為中文字符(為什么? 請Google ). Mr.Think并不建議用這種方法的, 它的執(zhí)行效率沒有正則高, 也沒有正則簡單.
核心代碼如下:
復(fù)制代碼 代碼如下:

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]);//講符合條件的值插入到中文字符數(shù)組中
//注意一個小bug,push是向數(shù)組的末尾添加一個或多個元素并返回新的長度,所以未刷新的情況下反復(fù)blur會累加字符值
}
}
entryLen+=cnArr.length;
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 张家川| 缙云县| 元朗区| 庆元县| 邯郸县| 安顺市| 宝山区| 荣昌县| 临西县| 石阡县| 连山| 安新县| 托克逊县| 青岛市| 津市市| 西畴县| 长顺县| 黄大仙区| 钦州市| 九龙城区| 江永县| 比如县| 台湾省| 二连浩特市| 潜江市| 铁力市| 江西省| 东方市| 灵山县| 九江县| 上高县| 闽侯县| 安图县| 邯郸市| 津市市| 介休市| 武邑县| 延庆县| 莎车县| 丰宁| 大庆市|