介紹禁止輸入兩種不讓input輸入中文的方法
介紹禁止輸入兩種不讓input輸入中文的方法。JavaScript禁止中文輸入可以通過設置輸入框的css樣式的ime-mode屬性來實現。也可以通過控制輸入字符來禁止輸入中文。.
方法一、JavaScript通過控制css樣式來禁止輸入中文。
ime:InputMethodEditors輸入法編輯器。ime-mode是CSS非標准屬性,用來控制文本輸入法的狀態,僅在部分瀏覽器支持或支持程度不一樣。
ime-mode語法
ime-mode: auto; ime-mode: active; ime-mode: inactive; ime-mode: disabled;
-
auto:ime-mode默認值,輸入法正常使用,不會影響輸入法的切換。
-
active:進入文本輸入框,輸入法編輯器初始化為激活,但可以切換為禁用,Linux下不支持。
-
inactive:進入文本輸入框,輸入法編輯器初始化為非激活,但可以切換輸入法,Linux下不支持。
-
disabled:輸入法被禁止使用,用戶不可以做輸入法切換
禁止中文輸入法
<input type="text" style="ime-mode:disabled">
禁止黏貼,禁止拖拽,禁止中文輸入法!
這種方法是最強的禁止 中文輸入
<input type="text" onpaste="return false" ondragenter="return false" oncontextmenu="return false;" style="ime-mode:disabled"/>
方法二、JavaScript控制輸入字符
用戶輸入文本,放開按鍵時檢查輸入字符的Unicode編碼是否在0和255之間,如果不在0-255字符之間把字符置為空字符
<script> function check(str){ var temp="" for(var i=0;i<str.length;i++) if(str.charCodeAt(i)>0&&str.charCodeAt(i)<255) temp+=str.charAt(i) return temp } </script> <input onpaste="return false" ondragenter="return false" onkeyup="this.value=check(this.value)">
方法三 、
html input 禁止輸入中文:
<input type="text" class="username" οnkeyup="value=value.replace(/[\u4e00-\u9fa5]/ig,'')" placeholder="請輸入賬號" />
輸入中文時,直接替換為空格。