【发布时间】:2018-09-11 00:40:38
【问题描述】:
我需要验证用户输入的电子邮件。它必须在地址中的某处有一个“@”和一个“。”在@之后的某个地方。如果格式不正确,我需要将地址存储为“invalid@address.given”。任何帮助将不胜感激!
【问题讨论】:
-
听说过正则表达式吗??
-
那么您是验证电子邮件还是电子邮件地址?你尝试了什么?
标签: java validation email
我需要验证用户输入的电子邮件。它必须在地址中的某处有一个“@”和一个“。”在@之后的某个地方。如果格式不正确,我需要将地址存储为“invalid@address.given”。任何帮助将不胜感激!
【问题讨论】:
标签: java validation email
要正确地做到这一点是一件非常困难的事情。有关难度的讨论,请参见以下链接:https://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx/
正确的做法是尝试向提供的地址发送一封电子邮件,并包含一个回调 URL 以验证帐户。
【讨论】:
看到:How to validate an email address using a regular expression?
正则表达式:
(?:[a-z0-9!#$%&'+/=?^_
{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_{|}~-]+)|"(?:[\x01 -\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])")@ (?:(?:a-z0-9?.)+a-z0-9?|[(?:(?:(2(5[0-5]|[0-4][0-9]) |1[0-9][0-9]|[1-9]?[0-9])).){3}(?:(2(5[0-5]|[0-4][ 0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-][a-z0-9] :(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\[\x01-\x09\x0b\x0c\x0e-\x7f])+ )])
【讨论】: