重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
str = "hello,everybody. " 返回false,位置0。(不含汉字和汉语标点符号)
创新互联自2013年起,是专业互联网技术服务公司,拥有项目网站设计、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元宁河做网站,已为上家服务,为宁河各地企业和个人服务,联系电话:18982081108
str = "hello,ererybody。 " 返回false,位置16。(最后一个句号是汉语标点符号)
先谢过大家了!
0ascii255
我来补充一下代码吧,在form中加入一个Text1
Private Sub Text1_Change()
If Text1.Text = "" Then Exit Sub '如果是空字符串,就退出此过程
Dim a
a = Asc(Mid(Text1.Text, Len(Text1.Text), 1))
If a 255 Or a 0 Then MsgBox "刚才输入的是汉字" Else MsgBox "刚输入的是字符"
End Sub
这是靠ASCII码来判断的,你根据你的程序需要进行修改吧,这是对输入框约束输入的比较常用的方法之一,你可以去搜索一下英文字符ASCII码表.
你可以用mid截取单个字符并用ASCII码判断:
n=asc(mid(str1,i,1))
if n0 and n255 then
'英文字母
else
'中文
end if
整个字符串你可以循环判断。
这是一个比较粗糙的范围,更加精准的判断:33-126为可打印的(即可显示的)英文字符,97-122为英文字母(小写),你可以根据字符串的实际内容来采用判断依据;负数是汉字(其实是最高位为1,VB识别为负数,转换成16进制就可以看到正确的编码了)