js 禁止輸入中文【轉】


可直接用下面的:

<script> 
function check_zh(obj){ 
   obj.value=obj.value.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/g,''); 
} 
</script> 
  <input οnkeyup="check_zh(this)" />

正則匹配: 

首先在正則表達式中使用 Unicode,必須使用\u開頭,接着是字符編碼的四位16進制表現形式

簡單匹配中文方法: /[^\u0000-\u00FF]/ (匹配非單字節字符 )

另錯誤方法:/[^\u00-\uFF]/ (匹配 非單字節字符、還包括一些全半角符號如,.(){}'"!等、還有vwxyz字符)

說明: ``//u0000-u00ff.包含unicode單字節編碼( 0-255編碼)包含基本控制字符和拉丁文字母。 采用該否定表達式,粗略判斷是否含有中文。

具體的匹配中文及字符方法:/[\u4E00-\u9FA5\uF900-\uFA2D]/

說明: u4e00-u9fbf :  unicode CJK(中日韓)統一表意字符。u9fa5后至u9fbf為空

uF900-uFAFF :  為unicode  CJK 兼容象形文字  。uFA2D后至uFAFF為空

具體可參考unicode編碼表:http://www.nengcha.com/code/unicode/class/

//是否含有中文(也包含日文和韓文)
function isChineseChar(str){   
   var reg = /[\u4E00-\u9FA5\uF900-\uFA2D]/;
   return reg.test(str);
}
//同理,是否含有全角符號的函數
function isFullwidthChar(str){
   var reg = /[\uFF00-\uFFEF]/;
   return reg.test(str);
} 

或者:

<script>
function nocn(){
    for(i=0;i<document.getElementsByName("nocn")[0].value.length;i++){
        var c = document.getElementsByName("nocn")[0].value.substr(i,1);
        var ts = escape(c);
        if(ts.substring(0,2) == "%u"){
            document.getElementsByName("nocn")[0].value = "";
            alert("這里不能輸入中文/全角字符");
        }
    }
}
</script>
<table bgcolor="#6699ff" align="center">
    <tr>
        <td>不能輸入中文:</td>
        <td><input type="text" name="nocn" onKeyup="nocn()"  οnblur="nocn();"></td>
    </tr>
    <tr>
        <td>能輸入中文:</td>
        <td><input type="text" name="cnok"></td>
    </tr>
</table> 

文章轉自:https://blog.csdn.net/y18749247391/article/details/80067152
更多參考:https://www.cnblogs.com/shosky/archive/2011/07/21/2113186.html


免責聲明!

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



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