0

我有这段代码来验证电子邮件地址,我认为它在正常情况下工作正常

<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 字符?

谢谢。

4

1 回答 1

2

只是不要只验证A-Z范围内的拉丁字符。这使得自 2010 年 5 月以来不再有意义,因为实际上域名中允许使用任何 unicode 字符。最好只验证@and.字符的出现。

<f:validateRegex pattern="([^.@]+)(\.[^.@]+)*@([^.@]+\.)+([^.@]+)" />

也可以看看:

于 2013-05-28T11:42:36.913 回答