2011-02-05 4 views
2

Можно создать дубликат:
email address validationPHP - Email Validation

Здравствуйте. У меня есть эта функция для проверки адреса электронной почты

function isValidEmail($email){ 
return eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$", $email); 
} 

Он хорошо работает с доменными зонами, как .com, .us и т.д., которые содержат от 2 до 3-х символов после точки. Мой вопрос: важно ли включать такие зоны, как .info или .travel длиной более 3 символов, и я должен беспокоиться о нескольких .co.uk и т. Д.? Как улучшить функцию для этих потребностей?

+5

1. ['eregi' устарел] (http://de3.php.net/manual/en/function.eregi.php) 2. да, 3. используйте [' filter_var'] (http: // de3.php.net/manual/en/function.filter-var.php) 4. [это дубликат] (http://stackoverflow.com/search?q=php+email+validation) – Gordon

ответ

6

есть родная функция в PHP, чтобы сделать это, проверить его и посмотреть, если она соответствует вашим потребностям:

var_dump(filter_var('[email protected]', FILTER_VALIDATE_EMAIL)); 

P.S: Не eregi() осуждается?