结合正则表达式



我有两个正则表达式,我正在尝试组合。一个是特定于电子邮件的,另一个检查某些特殊字符。经过多次玩弄,我得出了这个解决方案:

"^([-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+.[a-zA-Z]{2,4}|[\w\-ÀÈÌÒÙàèìòùÁÉÍÓÚÝáéíóúýÂÊÎÔÛâêîôûÃÑÕãñõÄËÏÖÜŸäëïöüŸçÇŒœßØøÅåÆæÞþÐð _]){0,80}$"

它似乎确实检查了我需要它的内容,但例如以下内容仍然有效:abc@foo它不会强制使用完整的电子邮件地址。

我是否使用了正确的方法,或者是否有更简单的方法来构建此正则表达式?我正在使用正则表达式进行学习,因此所有建议都值得赞赏。

将乘数{0,80}移到括号内:

"^([-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+.[a-zA-Z]{2,4}|[\w\-ÀÈÌÒÙàèìòùÁÉÍÓÚÝáéíóúýÂÊÎÔÛâêîôûÃÑÕãñõÄËÏÖÜŸäëïöüŸçÇŒœßØøÅåÆæÞþÐð _]{0,80})$"
//                                                                                                                      here __^^^^^^^

另外,[a-zA-Z]{2,4}验证顶级域名方面确实很差,请查看 IANA。

me@localhost是一个有效的电子邮件地址。

最新更新