js如何判断字符是中文,英文,数字还是字符

JavaScript034

js如何判断字符是中文,英文,数字还是字符,第1张

1、使用正则表达式判断中文正则:[\u4E00-\u9FA5]英文正则:[A-Za-z]数字正则:[0-9]//验证是否是中文var pattern = new RegExp("[\u4E00-\u9FA5]+")var str = "中文字符"if(pattern.test(str)){alert('该字符串是中文')}//验证是否是英文var pattern2 = new RegExp("[A-Za-z]+")var str2 = "abcdefsgaaweg"if(pattern2.test(str2)){alert('该字符串是英文')}//验证是否是数字var pattern3 = new RegExp("[0-9]+")var str3 = "234234"if(pattern3.test(str3)){alert('该字符串是数字')}

说一下思路:因为中文字符是双字节字符,可以查看汉字的unicode编码的范围(各种语言在unicode中都有一个范围),如果在这个范围内就是汉字,如果不在这个范围内,就是不是汉字。

中文的unicode的范围是:\u4e00-\u9FA5

所以正则可以写成:

var re=/^[\u4E00-\u9FA5\uF900-\uFA2D]*$/

if(re.test(str))

{

alert("是汉字!")

}

else

{

alert("不是汉字!")

}