如何禁止在文本框中輸入中文


具體步驟: 

方法一:用文本框的CSS屬性ime-mode實現。 

    <input onpaste="return false" ondragenter="return false"  style="ime-mode:disabled"> 

 提示:設置ime-mode為disabled的意思是禁止在輸入時禁止用戶激活輸入中文,韓文,日文等的輸入法(IME)狀態,因為這個只能檢測到鍵盤的輸入,對通過鼠標操作的粘貼和拖放無效。 

方法二:在松開按鍵時用腳本檢查文本框的值,只保留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,’’)"> 

特別提示 
本例代碼運行后,第一種方法是不能切換輸入法,所以無法輸入中文,其它三種方法是在輸入中文后立即被替換為空,同時禁止了粘貼和拖放事件。 

特別說明



本例主要是css屬性ime-mode和對中文或雙字節字符的判斷應用。 
ime-mode 設置輸入方法編輯器(IME)的狀態。 
charCodeAt返回指定位置上字符的 Unicode 編碼值。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM