前端每日三问#200501怎样在文本框中禁用中文输入法?

方法一:用文本框的CSS属性ime-mode实现

ime-mode属性介绍:设置或检索是否允许用户激活输入中文,韩文,日文等的输入法(IME)状态。

IME 是输入法编抄辑器 (Input Method Editor) 的英文缩写,它是一种专门的应用程序,用来输入代表东亚地区书面语言文字的不同字符。简体中文的 IME 将用户的击键转换袭为汉字。

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

解决方案:设置ime-mode为disabled即可。
备注:对鼠标操作的粘贴拖放无效。

*方法二:控制文本框的值

在松开按键时用脚本检查文本框的值,只保留Unicode编码在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)"> 

*方法三:把所有双字节字符替换为空。

<input onpaste="return false" ondragenter="return false"  onkeyup="this.value=this.value.replace(/[^/x00-/x80]/gi,’’)"> 

*方法四:把中文字符替换为空。

<input onpaste="return false" ondragenter="return false"  onkeyup="this.value=this.value.replace(/[/u0391-/uFFE5]/gi,’’)"> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值