介绍禁止输入两种不让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="请输入账号" /> 输入中文时,直接替换为空格。