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

 

禁止用户激活中文、韩文、日文等的输入法(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,'')" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值