Js 驗證文字框只能輸入中文的表示式

2021-09-10 21:56:52 字數 1094 閱讀 5692

今天做表單提交的輸入框條件驗證,驗證是否包含中文;網上搜了一圈基於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...