今天做表單提交的輸入框條件驗證,驗證是否包含中文;網上搜了一圈基於js正規表示式的驗證基本不好用,而且大多都是出自一兩篇原文的**!到底什麼才是拿來主義呢。根據搜尋結果,本文取精華,告訴大家乙個好用的中文驗證方法。
使用js正規表示式匹配中文,需要了解中文字元在unicode編碼中所處的區間。這樣才能夠了解表示式的匹配原理。
首先在正規表示式中使用 unicode,必須使用\u開頭,接著是字元編碼的四位16進製制表現形式
簡單匹配中文方法: /[^\u0000-\u00ff]/ (匹配非單位元組字元 )
另錯誤方法:/[^\u00-\uff]/ (匹配 非單位元組字元、還包括一些全半形符號如,.(){}'"!等、還有vwxyz字元)
說明: //u0000-u00ff.包含unicode單位元組編碼( 0-255編碼)包含基本控制字元和拉丁文本母。 採用該否定表示式,粗略判斷是否含有中文。
具體的匹配中文及字元方法:/[\u4e00-\u9fa5\uf900-\ufa2d]/
說明: u4e00-u9fbf : unicode cjk(中日韓)統一表意字元。u9fa5後至u9fbf為空
uf900-ufaff : 為unicode cjk 相容象形文本 。ufa2d後至ufaff為空
具體可參考unicode編碼表:
//是否含有中文(也包含日文和韓文)function ischinesechar(str)
//同理,是否含有全形符號的函式
function isfullwidthchar(str)
js正規表示式之中文驗證
今天做表單提交的輸入框條件驗證,驗證是否包含中文 網上搜了一圈基於js正規表示式的驗證基本不好用,而且大多都是出自一兩篇原文的 到底什麼才是拿來主義呢。根據搜尋結果,本文取精華,告訴大家乙個好用的中文驗證方法。使用js正規表示式匹配中文,需要了解中文字元在unicode編碼中所處的區間。這樣才能夠了...
js中正規表示式驗證 js 正規表示式驗證
function validation u4e00 u9fa5 uf900 ufa2d validation.checkname function str u4e00 u9fa5 uf900 ufa2d validation.checknames function str 0 9 a za z va...
JS正規表示式驗證
idresult idstr.match 0 9 g 驗證數字的正規表示式集 驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的...