51Testing软件测试论坛

标题: email 的正则表达式格式验证问题 [打印本页]

作者: smart55    时间: 2009-9-9 10:12
标题: email 的正则表达式格式验证问题
在系统中,如果输入错误格式的email地址,在文本框后就会出现一个提示信息的小图标,鼠标放在小图标上,显示“email格式不正确”。
在QTP中,写了如下代码来验证email格式是否正确,但是不管是输入正确,还是错误的email信息,测试报告中都显示格式输入的是不正确的。

Function RegExpTest(patrn,str)
     Dim regEx
     Set regEx = new RegExp
     regEx.Pattern= patrn
     regEx.Ignorecase =True
     regEx.Global = True
        msgbox (str)
     RegExpTest = regEx.Test(str)
     If  RegExpTest = True Then   
        Reporter.ReportEvent micPass,"Email格式测试","输入格式正确"
    else  If  Browser("CFS-CRM V 6.4.0.05").Window("客户信息 -- 网页对话框").Page("客户信息").Frame("Frame").Image("Email格式不正确").Exist Then  
                Reporter.ReportEvent micPass,"Email格式测试","输入格式错误,提示信息存在"
                else
        Reporter.ReportEvent micFail,"Email格式测试","输入格式错误,提示信息不存在"
            End If
          End If
End Function

email的值是取的datatable里的值,循环进行验证好几种情况。
问题是:当输入正确的email时,结果显示输入的仍是错误的,到底是哪里写的不对呢。
作者: smart55    时间: 2009-9-9 10:13
var_email=datatable.Value("email","新建客户")
If var_email <>"" Then
mail_patrn="/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/"
result_message=RegExpTest(mail_patrn,var_email)
End If

这是来调用function
作者: zero0223    时间: 2009-9-9 11:00
正则表达式用  ^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$   试试
或者  ^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
你的好像写错了  /^[a-zA-Z0-9_\.]+@[a-zA-Z0-9-]+[\.a-zA-Z]+$/

[ 本帖最后由 zero0223 于 2009-9-9 11:56 编辑 ]
作者: supermichael    时间: 2009-9-9 12:31
If  RegExpTest = True Then
上面变赋值了吧
作者: 风雪夜归人    时间: 2009-9-9 13:35
好像是 .*吧?
作者: smart55    时间: 2009-9-9 13:55
3楼对了,正则表达式写错了,
改下就OK了~~




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