Регулярные выражения, вырезать e-mail адрес

Casufi

Guest
Регулярные выражения, вырезать e-mail адрес

Пытаюсь при помощи регулярных выражений сделать проверку или пользователь ввел в поле что то похожее на емэйл адрес.
preg_match("[-a-zA-Z0-9_]{1,}[\.]{*}[-a-zA-Z0-9_]{1,}@[-a-zA-Z0-9_]{1,}[\.]{*}[-a-zA-Z0-9_]{*}[^\.]",$email_string,$result_email)
Но оно нифига не извлекает.
Вопрос1: как указать , что конструкция [-a-zA-Z0-9_]{1,}[\.] может повотряться несколько раз а может и не повторяться.
2) Как указать что проверять надо фразу целиком а не только ее часть?
 

Фанат

oncle terrible
Команда форума
так тебе извлекать или проверять?
по поводу нескольких полей - а не проще сделать этих самых полей побольше? чтобы в каждом был свой адрес?
 

Aidar

Guest
Я пользуюсь такой конструкцией:
^[a-zA-Z0-9_.]{1,20}@[a-zA-Z0-9_.]{1,20}.[a-zA-Z]{1,5}$
 

kruglov

Новичок
да это понятно, но это очень вопиющий :)
как если б вместо a-z написать а-я
 

Demiurg

Guest
Фанат
разве в классе надо точку экранировать ?
А, ты про другую, сорри.

а, по поводу проверки email - столько уже раз обсуждалось, никто ничего лучше посылки подтверждения на указаный ящик пока не придумал.
 

Casufi

Guest
Aidar
В твоей конструкции, перед собачкой, если я не ошибаюсь, может стоять несколько точек подряд.
Скажите, можно ли указать, допустим что вся конструкция ab[s,d,t] может повторяться несколько раз?
Если я напишу ab[s,d,t]{*} это будет означать, что символов s, в или t может быть сколько угодно. Скажите есть ли способы указать количество повторений всей конструкции ab[s,d,t]
 
Сверху