51Testing软件测试论坛

标题: 如何判断输入框中的内容是11位整数? [打印本页]

作者: 开朗幽默    时间: 2010-9-1 17:36
标题: 如何判断输入框中的内容是11位整数?
代码如下:a=Browser("CRM综合业务系统").Page("CRM综合业务系统").Frame("Frame").WebEdit("PHONENO").GetROProperty("value")
a=VarType(a)
msgbox a
返回值为8,属于string型的。但要求是11位的整数,请问应该怎么做啊?
作者: skyzhu    时间: 2010-9-1 17:40
GetROProperty 取到的肯定都是 字符串
这种特殊的,就只能用正则表达式来验证了
作者: 鹭岛    时间: 2010-9-2 10:09
a="12345678901"
b=CDBL(a)
If b>9999999999 and b<100000000001 Then
        msgbox "ok"
End If

测试后,发现可以弹出OK
作者: skyzhu    时间: 2010-9-2 10:41
标题: 回复 3# 的帖子
有BUG ,呵呵
19999999999.33211
作者: hsjzfling    时间: 2010-9-2 10:59
方法很多了,比如先判断字符串长度为11位,再判断每一个字符是否都为数字,或者转换之后判断数值大小等等
  1. Function IsInt11(num)
  2.         If IsNumeric(num) And Len(num)=11 Then
  3.                 b = CDbl(num)
  4.         Else
  5.                 IsInt11 = False
  6.         End If
  7.         IsInt11 = (b>=10000000000 And b<=99999999999)
  8. End Function
复制代码

作者: liujinkui    时间: 2010-9-2 11:40
标题: 回复 5# 的帖子
还是没有处理小数的情况
111222.3334  IsNumeric   返回的也True
作者: hsjzfling    时间: 2010-9-2 13:18
标题: 回复 6# 的帖子
不能满足第二次判断(b>=10000000000 And b<=99999999999)
作者: shiker2003    时间: 2010-9-8 20:25
正则表达式最方便




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