js判断字符是否是汉字的两种方法小结

Javascript教程 2025-08-15

有时需要判断一个字符是不是汉字,比如在用户输入含有中英文的内容时,需要判断是否超过规定长度就要用到。用 Javascript 判断通常有两种方法。

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.**w*3.org/1999/xhtml" >

< head >

 < meta http-equiv="Content-Type" content="text/html; charset=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 >

< 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 = 0;i <  str.length; i++)

 {

   if(str.charCodeAt(i)  > 255) //如果是汉字,则字符串长度加2

     strlen += 2;

   else

     strlen++;

 }

 return strlen;

 }