如何使用OSB Xquery验证电子邮件地址

时间:2014-02-19 05:48:27

标签: validation email xquery osb

我想在OSB Xquery中验证电子邮件地址。

目前我正在验证这样:

if (not((fn:matches(fn:lower-case($reporter/ns4:emailAddress),'^[a-z0-9+]+([\._-][a-z0-9]+)*@[a-z0-9_-]+(\.[a-z0-9]+){0,4}\.[a-z0-9]{1,4}$'))) 

我想在此处添加更多验证,例如电子邮件ID将以下面的格式显示。电子邮件地址示例:

abcdefg.hijklmnopqrstuvwxyz!#$%&'*/=?^_+-`{|}~0123456789@acme-inc.com

在@符号abcdefg.hijklmnopqrstuvwxyz!#$%&'*/=?^_+-`{|}~0123456789之前。当我尝试添加此项时,我收到&的错误消息。如何添加此令牌?

1 个答案:

答案 0 :(得分:1)

测试:

let $email := "abcdefg.hijklmnopqrstuvwxyz!#$%&'*/=?^_+-`{|}~0123456789@acme-inc.com"
return
    fn:matches(fn:lower-case($email),'^[a-z0-9+]+([._-][a-z0-9]+)*@[a-z0-9_-]+(.[a-z0-9]+){0,4}.[a-z0-9]{1,4}$')

这会像你想要的那样返回'false',对吗?那么,问题是什么?

注意:我逃过了&,因为这是XQuery中的一个特殊字符。

HTH!