限制文本框输入:禁止激活输入法、禁止全角输入、限制只能输入数字

 

禁止用户激活中文、韩文、日文等的输入法(IME)状态

ime-mode 版本:IE5+专有属性 继承性:无


语法:

ime-mode : auto | active | inactive | disabled


参数:

  • auto : 不影响IME的状态。与不指定ime-mode属性时相同
  • active : 指定所有使用IME输入的字符。即激活本地语言输入法。用户仍可以撤销激活IME
  • inactive : 指定所有不使用IME输入的字符。即激活非本地语言。用户仍可以撤销激活IME
  • disabled : 完全禁用IME。对于有焦点的控件(如输入框),用户不可以激活IME

 

例子:

<input type="text" style="ime-mode:disabled;" ... />

 

 

限制文本框输入,只能输入数字

 

方法一、

监听onKeyPress事件,通过判断keyCode禁止数字以外的键值输入:

<input type="text" onKeyPress="if(event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" />

缺点:可以向文本框中粘贴任何内容,也可以激活输入法输入任何内容

 

方法二、

监听onKeyUp事件,通过正则表达式将数字以外的值替换成空串:

<input type="text" onKeyUp="this.value=this.value.replace(/\D/g,'')" />

缺点:输入进去后闪一下再消失,很奇怪

 

 

相对完美的解决方案:

综合以上3中方法:既禁止数字以外的键值输入,又禁止激活输入法,同时通过正则表达式将数字以外的值替换成空串。

<input type="text" style="ime-mode:disabled;" onKeyPress="if(event.keyCode < 48 || event.keyCode > 57) event.returnValue = false;" onKeyUp="this.value=this.value.replace(/\D/g,'')" />

你可能感兴趣的:(限制文本框输入:禁止激活输入法、禁止全角输入、限制只能输入数字)