ASP中怎么判断字符串是否是汉字?我是在注册新用户中用到,用len()方法把汉字只算一个字符。 一、直接将某字符用asc转为ASCII码,如果是英文,他应该是0-127的范围,而汉字则是一个比较大的数字,所以可以使用以下代码来判断:
if abs(asc(whichChar))>127 then Response.write whichChar & "是一个汉字" else Response.write whichChar & "不是一个汉字" end if
二、汉字的UNICODE编码范围是4e00-9fa5,所以使用正则表达试就可以判断一个汉字是不是汉字了。 Set RegExpObj=new RegExp RegExpObj.Pattern="^[\u4e00-\u9fa5]+$" ReGCheck=RegExpObj.test(whichChar) Set RegExpObj=nothing
if ReGCheck then Response.write whichChar & "是汉字" else Resposne.write whichChar & "不是汉字" end if
全为汉字
<SCRIPT LANGUAGE="vbScript"> function isGB(x) if len(escape(x)) /len(x)=6 then isGB=true else isGB=false end function
'测试 alert(isGB("汉字")) alert(isGB("汉 字")) alert(isGB("汉a字b")) alert(isGB("汉字!"))
dim test,t1,t2 t1=timer() for i=1 to 10 * 10000 test=(isGB("汉字!")) next t2=timer() alert(t2-t1) </SCRIPT>
|