Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有tapestry的电子邮件正则表达式_Java_Html_Regex_Tapestry - Fatal编程技术网

Java 带有tapestry的电子邮件正则表达式

Java 带有tapestry的电子邮件正则表达式,java,html,regex,tapestry,Java,Html,Regex,Tapestry,我在web应用程序上使用tapestry 4。我有tapestry验证我的电子邮件地址字段。根据tapestry,它使用正则表达式来验证电子邮件地址 ^\w[-._\w]*\w@\w[-._\w]*\w\.\w2,6$ 但是当我输入一个以.cat或类似内容结尾的电子邮件地址时,验证会捕获一个错误,并且不会保存该电子邮件地址 由于我不熟悉regex,有人知道为什么会发生这种情况吗?我认为您提到的文档可能与该示例存在一些问题 该regexp的正确版本应该是(离给定版本不远) 最后一部分(\w{2,

我在web应用程序上使用tapestry 4。我有tapestry验证我的电子邮件地址字段。根据tapestry,它使用正则表达式来验证电子邮件地址

^\w[-._\w]*\w@\w[-._\w]*\w\.\w2,6$
但是当我输入一个以
.cat
或类似内容结尾的电子邮件地址时,验证会捕获一个错误,并且不会保存该电子邮件地址


由于我不熟悉regex,有人知道为什么会发生这种情况吗?

我认为您提到的文档可能与该示例存在一些问题

该regexp的正确版本应该是(离给定版本不远)

最后一部分(
\w{2,6}
)匹配顶级域,该域(根据该正则表达式)应为2到6个字符


看看这个网页的网站。使用regexp进行实验非常方便。这似乎是一个bug:看起来它只接受“现有”TLD,而不管根据RFC 5322电子邮件是否有效<代码>a@b也是有效的,顺便说一句,这将使他们的正则表达式失败。只是出于好奇,你知道这将允许什么地址吗?或者仅仅是com、info、net和org以及国家代码顶级域?我想你可以使用普通的电子邮件regex@flexinIT,我不知道。我建议在任何情况下都使用javax.mailapi并使用“newinternetaddress”(字符串,true)进行验证。电子邮件的正则表达式是不好的。如果.com电子邮件域工作,但是.cat不工作,那么在这个正则表达式之后使用的验证器就有问题了,因为这个正则表达式没有区分.cat和.com
^\w[-._\w]*\w@\w[-._\w]*\w\.\w{2,6}$