今天做表單提交的輸入框條件驗證,驗證是否包含中文;網上搜了一圈基於js正規表示式的驗證基本不好用,一據搜尋結果,本文取精華,告訴大家乙個好用的中文驗證方法。
網上好多要不無效,從正規表示式生成器 生成出來的中文驗證竟然只能輸入數字 也是奇葩了;
30)value=value.slice(0,30)" />
使用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為空
//是否含有中文(也包含日文和韓文)
function ischinesechar(str)
//同理,是否含有全形符號的函式
function isfullwidthchar(str)
JS 限制文字框只能輸入數字
第一步利用樣式表。在對應的文字輸入框屬性設定,style ime mode disabled nkeyd wn mykeydown 第二步利用js指令碼。mykeydown else if k 13 else 利用樣式表 style ime mode disabled 可以防止切換成漢字輸入法,也就...
js 控制文字框只能輸入中文 英文 數字等
總而言之 先在裡輸入 nkeyup value value.replace x g,然後在 x g,裡的x換成你想輸入的 就可以了,中文u4e00 u9fa5,數字0 9,英文a z a z,其它符號 點或其它符號。也可以多個,用 隔開就行了。例如 中英文 數字 符號 點符號 a z a z0 9 ...
文字框只能輸入數字
許多時候我們在製作表單時需要限制文字框輸入內容的型別,下面我們用正規表示式限制文字框只能輸入數字 小數點 英文本母 漢字等各類 輸入大於0的正整數 1.文字框只能輸入數字 小數點也不能輸入 keyup this.value this.value.replace d g,on afterpaste t...