<input>禁止键盘及中文输入

<input>禁止键盘及中文输入,但又不能用readonly 而且还需兼容ie 和 ff , 为了完成这功能费了蛮大功夫,呵呵,在此记录以便日后之用;

Html代码   收藏代码
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">  
  2. <HTML>  
  3.  <HEAD>  
  4.   <TITLE> New Document </TITLE>  
  5.   <script>  
  6.   // 样式 style="ime-mode:disabled" 禁止中文输入  
  7. function noPermitInput(e){    
  8.        var evt = window.event || e ;  
  9.         if(isIE()){  
  10.             evt.returnValue=false; //ie 禁止键盘输入  
  11.         }else{  
  12.             evt.preventDefault(); //fire fox 禁止键盘输入  
  13.         }     
  14. }  
  15. function isIE() {  
  16.     if (window.navigator.userAgent.toLowerCase().indexOf("msie") >= 1)  
  17.         return true;  
  18.     else  
  19.         return false;  
  20. }   
  21.   </script>  
  22.  </HEAD>  
  23.  <BODY>  
  24.   禁止键盘按键输入及中文输入  
  25.   <input type="text" value=""   style="ime-mode:disabled" onkeypress="noPermitInput(event)" >  
  26.  </BODY>  
  27. </HTML>  

 

  关于样式 ime-mode,网上查找如下:

 

ime-mode    CSS提议属性

语法:
ime-mode : auto | active | inactive | disabled 
 
参数:
auto : 不影响IME的状态。与不指定ime-mode属性时相同
active : 指定所有使用IME输入的字符。即激活本地语言输入法。用户仍可以撤销激活IME
inactive : 指定所有不使用IME输入的字符。即激活非本地语言。用户仍可以撤销激活IME
disabled : 完全禁用IME。对于有焦点的控件(如输入框),用户不可以激活IME
 
说明:
设置或检索是否允许用户激活输入中文,韩文,日文等的输入法(IME)状态。
对应的脚本特性为imeMode。
 
示例:
<input type=text style='ime-mode: disabled; '>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用以下几种方式来限制input标签不能输入中文: - 第一种方式是在输入框的样式中添加"ime-mode:disabled"的属性,这样可以禁止输入框中输入中文。但需要注意的是,这种方式在谷歌浏览器中不管用,只有IE和火狐浏览器支持。 - 第二种方式是使用正则表达式,通过在onKeyUp事件中对输入框的值进行替换,将输入中文字符和中文符号替换为空字符。这样可以实现禁止输入中文的效果。例如,可以使用如下代码来设置输入框的样式: ```html <Input size="small" onKeyUp={(event) => event.target.value = event.target.value.replace(/[^\x00-\xff]/g, '')} /> ``` 这段代码会将输入框中的所有非ASCII字符(包括中文字符和中文符号)替换为空字符,从而实现禁止输入中文的效果。 - 第三种方式是使用change事件来捕捉输入的内容,并将输入中文字符强制转换为键盘输入的字母。同样地,可以使用正则表达式来替换输入框的值,将中文字符替换为空字符。例如,可以使用如下代码来实现这种样式: ```html <span style="font-size:18px;"><input type="text" id="jscaptcha_input" style="ime-mode:disabled;" maxlength="5" onKeyUp={(event) => event.target.value = event.target.value.replace(/[^\x00-\xff]/g, '')} /></span> ``` 这段代码会在输入框中输入中文字符时,自动将其替换为空字符,从而实现禁止输入中文的效果。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值