我有这段代码来验证电子邮件地址,我认为它适用于正常情况
<h:inputText id="email" value="#{myBean.email}"
required="true">
<f:validateRegex pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}" />
</h:inputText>
但如果有人输入此示例电子邮件
lòmbardi.Çorneliö@mymail.com
..正则表达式失败。
问题,有没有办法让验证器允许其他ascii字符?
感谢。
答案 0 :(得分:2)
只是不要验证A-Z
范围内的拉丁字符。这使得since May 2010不再有意义,因为实际上域名中允许任何unicode字符。最好只验证@
和.
字符的出现次数。
<f:validateRegex pattern="([^.@]+)(\.[^.@]+)*@([^.@]+\.)+([^.@]+)" />