开朗幽默 发表于 2010-9-16 10:43:10

如何判断输入的内容符合格式要求?

在一个Webedit中,要求输入4位数字,代表月日,从0101到1231之间的数字都行,即一年的任意一个日期。现在需要判断输入的4位数字是否在这个范围内,应该怎样做呢?关键就是这个0不好判断

鹭岛 发表于 2010-9-16 11:10:01

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:58

注:以下代码的前提是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:02

不行啊,mydate=1032的时候,中间的那些判断没有起到作用。

lantianwei 发表于 2010-9-16 18:03:26

回复 4# 的帖子

可以的没问题~
页: [1]
查看完整版本: 如何判断输入的内容符合格式要求?