51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 4692|回复: 6
打印 上一主题 下一主题

[原创] 求一判断字符串有效的vb脚本代码(字符串只能包含数字和英文字母)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2006-4-12 16:20:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
谢谢!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-4-12 16:35:07 | 只看该作者
很简单啊~~利用Ascii来判断啊~~
不等于58 ~57、65~90、97~122
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2006-4-12 23:19:25 | 只看该作者
刚学,

public Function isnotvalid(strUser)
Dim i,c
  For i=1 to Len(strUser)
          c=Left(strUser,i)
     if(not(48<c<57 Or 65<c<90 Or 97<c<122))then//有误,请问应怎样判断
     isnotvalid=true
      exit Function
           end if
   next
   isnotvalid=false
end Function

是这样吗,谢谢

[ 本帖最后由 minliu 于 2006-4-13 09:23 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2006-4-13 09:38:18 | 只看该作者
你也可以用正则表达式来判断!
你的脚本有明显的语法错误:for循环能循环吗?len中的子符要用双引号的。
  你的left函数也有错误:1,left中的字符串要用双引号;2,这里不应该用left函数,因为当i>1时返回的就是多个字符,建议你用MID函数每次获取一个字符,例:mid("strUser",i,1);  还有每次获取字符后要用Asc函数转化后才能进行比较
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2006-4-13 09:44:24 | 只看该作者
"len中的子符要用双引号"
应该不需要把,strUser是个参数.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2006-4-13 09:59:45 | 只看该作者
你可以部分地这样修改(建议用正则表达式而不用这么麻烦!)
Dim i,c
   
  For i = 1 to len("stU123*&")

          c = asc(mid("strU123*&",i,1))
          msgbox c
          If( (asc(48)<c)and(c>asc(57)) )or ((asc(65)<c)and (c<asc(90)))or ((asc(97)<c)and(c<asc(122)))Then
             msgbox("right!")
        else
             msgbox("error!")
          End If
  Next
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2006-4-13 11:09:24 | 只看该作者
谢谢,请问用正则式怎么实现,麻烦了。

[ 本帖最后由 minliu 于 2006-4-13 13:08 编辑 ]
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-14 23:09 , Processed in 0.072400 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表