Я узнаю про простую проверку формы javascript, и мне просто интересно, почему моя проверка электронной почты не работает. Я пытаюсь захватить информацию из поля ввода электронной почты и запустить мою функцию с помощью RegEx. Любая помощь будет оценена по достоинству.проверка электронной почты с помощью javascript
скрипку демо: http://jsfiddle.net/6SWj4/
(function(){
var emailAddr = document.getElementById("f_email").value;
console.log(emailAddr);
// console.log(email.test(str));
//
// if(email.test(str) == true){
// console.log("true");
// }else{
// console.log("false");
// }
myform.onsubmit = function(e){
//Below is one example of the validateField call with an argument.
//You must dynamically retrieve the ID name from the DOM/HTML.
validateField(emailAddr); //id = is the form input field ID
e.preventDefault();
return false;
};
var validateField = function(inputName){
if (inputName.name === 'f_email'){
var pattern = /^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;
var emailVal = new RegExp(pattern);
//You will need to create an else-if statement for each input field id. The
// format will be similar to the above IF statement.
}else{
console.log("not valide");
}
var pass = emailVal.test(inputName);
console.log(pass);
var errorMsg = inputName.nextSibling.nextSibling.nextSibling.nextSibling;
if (!pass || inputName.value.length < 2){
errorMsg.style.display='block';
inputName.style.backgroundColor = 'red';
} else if (pass && inputName.value.length > 5){
errorMsg.style.display='none';
inputName.style.backgroundColor = 'green';
} else {
errorMsg.style.display='none';
inputName.style.backgroundColor = 'white';
};
};
})(); // end wrapper
'моя проверка электронной почты не работает', как она не работает? Он генерирует сообщения об ошибках? Это просто ничего не делает? «Не работает» просто не работает для хорошего вопроса. –
Ваша проверка подлинности по электронной почте действительно не должна быть более сложной, чем «Имеет ли в ней символ @»? Если да, то отлично - отправьте им электронное письмо, включая ссылку, которую они затем используют, чтобы подтвердить, что адрес электронной почты является действительным (и что они на самом деле владеют им). Вы удивляетесь, сколько человек подписывается на вещи с адрес электронной почты, который не принадлежит им). Тем не менее ... var var = emailVal.test (inputName); 'вероятно, должно быть' var pass = emailVal.test (inputName.value); '- вам нужно передать его значение, а не фактический элемент ввода. –
Извините, я не уточнил. Синтаксических ошибок нет. Проблема даже в том, что я вводил правильный адрес электронной почты в поле, возвращается с ошибкой. Я думаю, потому что я не получаю строку из поля ввода. – user3072159