Как сделать эту проверку электронной почты?

0

Я пытаюсь выполнить проверку подлинности по электронной почте именно так

combination of letters (both upper & lower case), numbers and periods
single at symbol @ 
combination of letters (both upper & lower case), numbers, hyphens and/or periods
single period
combination of 2 – 4 letters (lower case only)

Это то, что у меня есть, и, пожалуйста, поправьте меня, если я ошибаюсь.

JSFIDDLE: http://jsfiddle.net/uk6cD/3/

  • 1
    Просто используйте /^\S+@\S+\.\S+$/ и сделайте все остальное на стороне сервера
  • 2
    Последняя combination of 2 – 4 letters вызовет проблемы: некоторые TLD длиннее 4 символов и не забывают азиатские TLD.
Теги:
validation

3 ответа

1
a= "[email protected]"
var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
if (!filter.test(a))
{
  alert("correct")
}
else
 {
  alert("incorrect email id")
 }
  • 0
    Сбой RFC 6530. Это регулярное выражение отвергнет Kai @ Kurokawa. Япония
  • 0
    это только для английского, если вам нужен другой язык, значит, вы можете использовать этот путь "/^([startingchar-endchar])+\@(([startingchar-endchar]+\.)+([startchar-endchar])+$ /»
Показать ещё 7 комментариев
0

Адреса электронной почты могут быть сложными, см. Http://en.wikipedia.org/wiki/Email_address для введения, а затем различных RFC (например, http://tools.ietf.org/html/rfc6530.)

Как клиент javascript, я бы просто удостоверился, что atsign '@' присутствует и окружен каким-то текстом. Что-то вроде

/^.+@.+$/

или без регулярного выражения

var isValid = email.length >= 3 && email.indexOf('@') >= 0; 

Вот список сложных адресов электронной почты; http://rumkin.com/software/email/test.php

-2

Ваше регулярное выражение будет таким простым, как

var valid = email.match(/^[a-zA-Z0-9\.]+@([a-zA-Z0-9\.-]){1,}\.[a-z]{2,4}$/);

Надеюсь, поможет

  • 0
    Ах, ты спасатель жизни :)
  • 0
    Сбой RFC 6530. Это регулярное выражение отвергнет Kai @ Kurokawa. Япония
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню