如何判断一个字是汉字?

ybiori 2004-07-31 02:29:19
如题,清高手指点用vbs如何能准确判断一个字是不是汉字?
有人说汉字asc码都小于0,可小于0的也不都是汉字阿
...全文
162 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
ycted 2004-08-13
是的用正则就简单了.
回复
sfar 2004-08-13
高手啊,学习~~
回复
wsdzmhongm 2004-08-13
只能输入汉字

<input onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')" onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))">
回复
andraw2002 2004-08-13
/*
* 功能描述: 检查对象值是否为中文
* 函数名: isChinese(obj, msg)
* 输入值: obj: 表单域对象; msg: 不是中文时的提示信息
* 返回值: 布尔型(是: true; 不是: false)
*/
function isChinese(obj,msg){
var reg = /[^\u4E00-\u9FA5]/g;
if (reg.test(obj.value)){
obj.focus();
obj.select()
alert((msg?msg:'对不起!只能输入中文!请改正!'));
return false;
}
return true;
}
回复
超级大笨狼 2004-08-13
<input value="superDullWolf的CNWord类引用实例,vbs" id="input1"/>
<button onclick="vbs:classAndRegExp">验证</button>
<script language = "vbscript">
sub classAndRegExp()
set wolf = new CNWord
wolf.str = input1.value

msgbox "含有中文数" & wolf.CNcount
msgbox "含有中文块数" & wolf.CNBlockCount
msgbox "第2个中文块是--->" & wolf.CN(2)

set wolf = nothing
end sub
</script>


<script language="vbscript">
class CNWord

public str

private sub Class_Initialize()
set regEx =new RegExp
regEx.IgnoreCase = True '设置是否区分大小写。
regEx.Global = True '设置全局可用性。
end sub

private regEx


Property get CN(x)
dim Arr()
dim maxBound : maxBound = CNBlockCount
redim Arr(maxBound)
dim i:i=1
For each Match in regEx.Execute(str)
Arr(i) = Match
i = i + 1
next
if x<=maxBound then CN = Arr(x)
End Property



Property get CNcount
'返回含有中文的字数
regEx.Pattern = "[\u4e00-\u9fa5]"
CNcount = findCHNnum()
End Property

Property get CNBlockCount
'返回含有中文的块数
regEx.Pattern = "[\u4e00-\u9fa5]+"
CNBlockCount = findCHNnum()
End Property


private function findCHNnum()
findCHNnum = regEx.Execute(str).count
end function




private sub Class_Terminate()
set regEx = nothing
end sub

end class
</script>
回复
xzq686 2004-07-31
判断是否是汉字
function Check(str)
{
var l=str.length;
for (var i=0;i<l;i++)
{ if (str.charCodeAt(i)>0 && str.charCodeAt(i)<=255)
{alert("输入错误了");}
}
回复
xzq686 2004-07-31
判断是汉字:
在javascript:
var reg=/^[\u4e00-\u9fa5](\s*[\u4e00-\u9fa5])*$/;
if(reg.test(我是中国人))
{
是汉字}
地VBS:

"^[\u4e00-\u9fa5](\s*[\u4e00-\u9fa5])*$"
回复
huidan 2004-07-31
我也想知道,应该和ASCII码有关
比如可以判断英语字母 var theword
if('a'<theword<'z')
能判断是不是a到Z的字母

回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2004-07-31 02:29
社区公告
暂无公告