Глядя на сообщения здесь для проверки адреса электронной почты, я ищу, чтобы быть более либеральным в отношении теста на стороне клиента, который я выполняю.Проверка адреса электронной почты, опять
Ближайший я видел до сих пор:
^([\w-\.]+)@((\[[0–9]{1,3}\.[0–9]{1,3}\.[0–9]{1,3}\.)|(([\w-]+\.)+)) ([a-zA-Z]{2,4}|[0–9]{1,3})(\]?)$
Это не будет соответствовать this#[email protected], которые в соответствии с RFC действует
- Прописные и строчные английские буквы (az, AZ)
- цифры с 0 по 9
- Персонажи! # $% & '* + -/=?^_ `{| } ~
- Характер. (точка, период, полная остановка) при условии, что он не является первым или последним символом, и также предусматривает, что он не появляется два или более раз подряд.
Я хочу довольно простой матч:
- не начинается с.
- Любой символ разрешено до @
- Любой символ допускается после @
- Нет подряд. или @ allowed
- Часть после последнего. (tld) должен быть [a-z0-9-]
Я буду использовать \ i, чтобы сделать регистр поиска нечувствительным. Последовательные символы - это то место, где я повесил трубку.
Я работаю на одном, похоже, что это собирается покрыть ее широко + @. (?:. [- а-z0-9] + \) + [AZ] {2,10} Я не думаю, что будет tld длиной более 10 символов. Музей кажется настоящим держателем записи в странности. – user170579
http://stackoverflow.com/questions/3232/how-far-should-one-take-e-mail-address-validation/300862#300862 – some
Возможный дубликат [Как проверить адрес электронной почты в PHP] (http : //stackoverflow.com/questions/12026842/how-to-validate-an-email-address-in-php) (см. шаблон регулярного выражения) – PeeHaa