Javascript Электронная почта RegEx Проблема с JSLint? - PullRequest
0 голосов
/ 08 апреля 2011

Я пытаюсь проверить, что адрес электронной почты в правильном формате, используя приведенную ниже функцию.
Эта функция работает нормально, но не будет работать, поскольку JSLint выдаст мне следующую ошибку.: error (Lint occured): Unescaped '['.

Я пытался экранировать символы, которые должны быть экранированы, это исправило проблему с JSLint, но RegExp больше не работал.

Здесь есть какая-нибудь помощь в том, что я должен делать?

function validateEmail(email) 
{ 
  var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\
  ".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA
  -Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ 
  return email.match(re) 
}

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

Если вы избегаете открывающего '[' (а также закрывающего ']') в ваших классах персонажей, должно исправить вещи:

var re = /^(([^<>()\[\]\\.,;:\s@\"]+(\.[^<>()\[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

IЯ только что проверил это на http://www.jslint.com/, и, похоже, он избавился от ошибки.

0 голосов
/ 08 апреля 2011
^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$

Попробуйте это регулярное выражение

...