[CSS]浏览器IME输入法控制禁止输入中文

CSS3提供了 ime-mode 属性来控制input控件的IME输入法,如auto、active、inactive、disabled,但该方法在某些版本的Chrome中可能失效。在JS中,可以通过监听keyup事件并替换中文编码来实现禁止输入中文。对于HTML5手机APP开发,可以参考相关解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常的HTML开发过程中text类型input控件禁止输入中文控制一般通过js来实现,通过判定用户录入的文本的字符编码的范围来选择是否被输入到控件来实现。
在CSS3.0下可以直接使用样式来控制输入控件的输入法设置,通过设置对象样式的ime-mode即可,可选设定值为:
auto:不影响IME的状态。
active:指定所有使用ime输入的字符。即激活本地语言输入法。用户仍可以撤销激活ime
inactive:指定所有不使用ime输入的字符。即激活非本地语言。用户仍可以撤销激活ime
disabled:完全禁用ime。对于有焦点的控件(如输入框),用户不可以激活ime
normal:正常的IME状态。(IE不支持,不推荐选用)

示例代码:






/*Chrome Safari*/
-webkit-ime-mode: auto | active | inactive | disabled
/*Mozilla Firefox*/
-moz-ime-mode: auto | active | inactive | disabled
/*Opera*/
-o-ime-mode: auto | active | inactive | disabled
/*Internet Explorer*/
-ms-ime-mode: auto | active | inactive | disabled
/*CSS3 Standard*/
ime-mode: auto | active | inactive | disabled

不过貌似以上方法在Chrome 30.0.1599.69 m下已经失效了,所以目前只能结合js来手动进行控制,建议开发时考虑以下方法

//\u4e00-\u9fa5为中文的编码范围

onkeyup="this.value=this.value.replace(/[\u4e00-\u9fa5]/g,'')"/>


如果是手机HTML5 APP开发可以使用下面的方法




参考网址:
http://stackoverflow.com/questions/15520410/disable-ime-mode-google-chrome



--------------------------------------------------------------------------------------

- 版权声明:

- 如在本页面内无特别说明,本文内容均为[李大仁博客]原创,本文版权归[李大仁博客]所有。

- 欢迎转载,转载请务必在文章页面明显位置提供原文链接并注明出处。欢迎您在转载本文时保留本段声明。

- 文章标题: [CSS]浏览器IME输入法控制禁止输入中文

- 独立博客: 李大仁博客

- 永久链接: http://www.lidaren.com/archives/1240

--------------------------------------------------------------------------------------

以上内容由博客自动发布工具自动发布,最终显示内容和效果会与原文内容有所偏差,敬请谅解。







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值