JS判断汉字

方法一:最笨的,最容易理解的,且可以随意设置要排除的字符
======================================================================
<script language="javascript">
function isChinese1(str){

var badChar ="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
badChar += "abcdefghijklmnopqrstuvwxyz";
badChar += "0123456789";
badChar += " "+" ";//半角与全角空格
badChar += "`~!@#$%^&()-_=+]\\\\|:;\"\\\'<,>?/";//不包含*或.的英文符号

if(""==str){
return false;
}
for(var i=0;i<str.length;i++){
var c = str.charAt(i);//字符串str中的字符
if(badChar.indexOf(c) > -1){
return false;
}
}
return true;
}
</script>

方法二:正则表达式实现,可实现中文,非中文,数字输入
======================================================================
<script language="javascript">
function XN_CheckAllCnText(str)
{
var reg=/[\u4E00-\u9FA5]/g
if (reg.test(str)){alert("含有汉字");}
else{alert("不含有汉字");}
}

</script>

<input type="text" name="xunuo">
<input type="button" name="xu" value="点击我看看" onclick="XN_CheckAllCnText(document.all.xunuo.value)">

表单中不允许输入中文:
<input onkeyup="value=value.replace(/[\u4E00-\u9FA5]/g,'')">

引申:

表单中只允许输入中文的方法:
<input onkeyup="value=value.replace(/[ -~]/g,'')">

表单中只允许输入数字的方法:
<input onkeyup="value=value.replace(/\D/g,'')">

方法三:正则表达式实现
=====================================================================

function   funcChina(s){  
    if(/^[\u4e00-\u9fa5]+$/.test(s))  
{  
alert("不能含有汉字!");      
return   false;  
}  
return   true;  
}  
方法四:正则表达式实现
=====================================================================
if(/[^\x00-\xff]/g.test(s))  
alert("含有汉字");  
else  
alert("全是字符");
posted @ 2009-03-18 17:01  何益宁  阅读(9280)  评论(4编辑  收藏  举报