2013-03-21 3 views
0

я имел обыкновение использовать свою функцию с ereg (проверьте, есть один символ @),preg_match(): Неизвестный модификатор '@'

ereg("^[^@]{1,64}@[^@]{1,255}$", $email)

но теперь она устарела. Почему я получаю ошибку preg_match(): Unknown modifier '@', когда я установил ее на preg_match("^[^@]{1,64}@[^@]{1,255}$", $email)?

+0

Переключиться на 'preg_match()' as 'ereg()' устарел. –

ответ

1

Вам нужно добавить delimiters вокруг вашего выражения.

preg_match("/^[^@]{1,64}@[^@]{1,255}$/", $email) 

Я настоятельно рекомендую начать чтение о PCRE pattern syntax.

+0

теперь говорит 'preg_match(): Неизвестный модификатор '$'' – Andrew

+0

@Andrew Извините, опечатка. Я редактировал. – Tchoupi

0

, если вы хотите, чтобы подтвердить адрес электронной почты:

preg_match('/^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i', $email); 

это может помочь вам.

+0

@ Андрей, вы можете это увидеть? – koogua