1、用正则表达式判断
代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<title>js判断字符是否是汉字</title>
<style type="text/css">
.content{
width:350px
overflow:hidden
border:1px solid #ddd
}
</style>
<script language="javascript" type="text/javascript">
function CheckChinese(obj,val){
var reg = new RegExp("[u4E00-u9FFF]+","g")
if(reg.test(val)){
alert("不能输入汉字!")
var strObj = document.getElementById(obj)
strObj.value = ""
strObj.focus()
}
}
</script>
</head>
<body>
<div class="content">
<div>测试字符:<input id="test" type="text" onblur="CheckChinese('test',this.value)" /></div>
</div>
</body>
</html>
2、用 Unicode 字符范围判断
以下方法是用于统计输入字符串的长度,如果是汉字,则字符串长度加2 ;否则字符串长度加1。
代码如下:
function chkstrlen(str)
{
var strlen = 0
for(var i = 0i <str.lengthi++)
{
if(str.charCodeAt(i) >255) //如果是汉字,则字符串长度加2
strlen += 2
else
strlen++
}
return strlen
}
可以使用正则表达式进行验证:var reg=/^[\u2E80-\u9FFF]+$///Unicode编码中的汉字范围
if(reg.text('汉字验证')){
}