电子邮件正则表达式无法满足某些条件

时间:2017-09-18 07:19:46

标签: regex email

我的正则表达式不适用于下面提到的电子邮件。请帮忙 正则表达式 ^ [A-ZA-ZA-ZA-OO-OO-ÿäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ0-9#$%&安培;!?“ + / = ^ _ {|}~-]+(.[a-zA-ZÀ-ÖØ-öø-ÿäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ0-9!#$%&'*+\/=?^_ {|}〜] +) @ (:[A-ZA-ZA-ZA-OO-OO-ÿäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ0-9] +(:???[A-Z0-9 - ] * [A-Z0-9]))+α-z0- 9?$

电子邮件无效 localpart @ domain 未显示错误。有效的电子邮件是localpart@domain.com

domain.domain 未显示错误。 (@和当地部分缺失)

localSpecialCharacters!#$%&'* + - / =?^ _` {|}〜@ domain.domain 这不应显示错误,但显示无效的电子邮件错误。

无效的$$$$character@domain.domain 没有显示错误,但应该不允许这样做。

localpart @àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ.domain 这也不起作用

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我对我的要求有特定的规则。我为我的问题找到了正确的正则表达式,即 ^([^。])([A-ZA-ZA-zàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ0-9#$%&安培;!?“ + = ^ _`{|}〜/ - ])+([^]) @ [A-ZA-ZA-zàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ0-9] +([A-ZA-ZàèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ0-9.-] +([A-ZA-Z0-9])) $

规则是 对于电子邮件本地部分:
1)允许拉丁字母:A到Z和a到z
2)允许的数量:0到9
3)允许使用以下特殊字符:!#$%&amp;'* + - / =?^ _ {|}~<br> 4) Dot “.” is allowed but must not be the first or the last character and two dots must not appear consecutively.<br> 5) Following Latin characters with diacritics are allowed: àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄËÏÖÜŸçÇßØøÅåÆæœ<br> 6) Other Latin characters are not allowed including special character other than !#$%&'*+-/=?^_ {|}〜
7)最多64个字符长

电子邮件域必须符合主机名的要求
1)点分隔DNS标签列表,每个标签限制为63个字符的长度,并具有以下规则:
2)允许拉丁字母:A到Z和a到z
3)允许的数量:0到9
4)允许使用连字符“ - ”但不能是第一个或最后一个字符
5)允许使用带有变音符号的拉丁字符:àèìòùÀÈÌÒÙáéíóúýÁÉÍÓÚÝâêîôûÂÊÎÔÛãñõÃÑÕäëïöüÿÄÏÏÜÜççßØøÅåÆæœ
6)不允许使用其他字符 7)电子邮件地址总数:最多256个字符长