怎样判断一个字符串中的汉字个数

如题所述

第1个回答  推荐于2016-03-20
一、直接将某字符用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>本回答被提问者采纳
相似回答