我想在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
之前。当我尝试添加此项时,我收到&
的错误消息。如何添加此令牌?
答案 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!