51Testing软件测试论坛

标题: 如何判断输入的内容符合格式要求? [打印本页]

作者: 开朗幽默    时间: 2010-9-16 10:43
标题: 如何判断输入的内容符合格式要求?
在一个Webedit中,要求输入4位数字,代表月日,从0101到1231之间的数字都行,即一年的任意一个日期。现在需要判断输入的4位数字是否在这个范围内,应该怎样做呢?关键就是这个0不好判断
作者: 鹭岛    时间: 2010-9-16 11:10
a="1234"
b=Cint(Cint(a)/100)*100
msgbox b

b=Cint(Cint(a)/100)  这个可以得到月份
而b=Cint(Cint(a)/100)-Cint(Cint(a)/100)*100这个可以得到日期

办法比较死,不知道还有没有其他的(建议先写一个日期的函数,然后调用)
作者: lantianwei    时间: 2010-9-16 11:25
注:以下代码的前提是4位并为数字类型,而且没有算是否闰年,具体可自己完善
sub CheckDate(sData)
if cint(Left(cstr(sData),2))>0 and cint(Left(cstr(sData),2))<13 then
        select case cint(Left(cstr(sData),2))
                case 1,3,5,7,8,10,12
                        if cint(Right(cstr(sData),2))>0 and cint(Right(cstr(sData),2))<32 then
                                msgbox "pass"
                        else
                                msgbox "fail"
                        end if
                case 4,6,9,11
                        if cint(Right(cstr(sData),2))>0 and cint(Right(cstr(sData),2))<31 then
                                msgbox "pass"
                        else
                                msgbox "fail"
                        end if
                case 2
                        if cint(Right(cstr(sData),2))>0 and cint(Right(cstr(sData),2))<30 then
                                msgbox "pass"
                        else
                                msgbox "fail"
                        end if
                end select
else
        msgbox "fail"
end if
end sub

'Do test
myData="0323"
CheckDate(mData)

作者: 开朗幽默    时间: 2010-9-16 17:38
不行啊,mydate=1032的时候,中间的那些判断没有起到作用。
作者: lantianwei    时间: 2010-9-16 18:03
标题: 回复 4# 的帖子
可以的  没问题~




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2