2016-02-15 3 views
-2

Я заранее извиняюсь - это должно быть что-то очень простое и по какой-то причине я не могу заставить его работать правильно (я новичок в javascript!). Я пытаюсь выполнить некоторую проверку на JavaScript на стороне клиента (я также буду проверять на стороне сервера), но он не работает так, как надеялся!regexpression для правильной работы электронной почты

Я знаю о Validate email address in Javascript?, но по какой-то причине я не могу заставить его работать в моем коде. Вот если заявление (это часть пары вещей, которые происходят на нажатие кнопки):

var signUpEmail = document.getElementById('signUpEmail'); 
var emailVerification = /^[a-zA-Z0-9._-][email protected][a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/; 

//Validates email address 
if (emailVerification.test(signUpEmail) == false) { 
    alert("Please enter a valid email address"); 
    return false; 
}; 

Каждый раз, когда я нажимаю на кнопку с чем-нибудь (даже правильный адрес электронной почты) в поле, отображается предупреждение.

+0

Если вы собираетесь проверять на сервере в любом случае, почему бы просто не использовать встроенную проверку, которая будет охватывать самые современные браузеры (например, ' ',' '). – Marty

+3

Если вы хотите получить значение текстового поля, вы должны получить его свойство 'value', например:' document.getElementById ('signUpEmail'). Value'. –

+1

Я использовал регулярное выражение '/^[^@][email protected][[email protected]]+\.[^@]+$/' для большей проверки здравомыслия, чем что-либо еще, поскольку существует так много разных действительных писем. ваш, например, потерпит неудачу с действительным [email protected] – Plato

ответ

1

Вы передаете элемент в регулярном выражении изменить его, как следующий

var signUpEmail = document.getElementById('signUpEmail').value; 
Смежные вопросы