js判断是否为汉字

JavaScript013

js判断是否为汉字,第1张

可以使用正则表达式进行验证:

var reg=/^[\u2E80-\u9FFF]+$///Unicode编码中的汉字范围

if(reg.text('汉字验证')){

}

这些资料网上都有的啊

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

}

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<script>标签,输入js代码:

document.body.innerText = test('测')

function test(t) {

var a = [

{'reg':/[^/u4e00-/u9fa5]/, 'name':'中文'},

{'reg':/[^0-9]/, 'name':'数字'},

{'reg':/[^A-Za-z]/, 'name':'英文'},

]

for (var i = 0i <a.lengthi++) {

if (a[i].reg.test(t)) {

return a[i].name

}

}

return '字符'

}

3、浏览器运行index.html页面,此时会打印出js判断的结果。