2014-01-02 4 views
-2

, так что мне нужно сделать, это настроить код для проверки имени и электронной почты. Если поля пустые, должно появиться предупреждение, а также если вы не заполните действительный адрес электронной почты.Javascript: проверка имени и почты

Я не уверен, что я делаю это правильно. Также стоит отметить, что у меня есть минимальный опыт работы с javascript.

function test(email, name) { 

    var x=document.forms["myForm"]["name"].value; 
    if (x==null || x=="") 

    { 
     alert("You forgot to enter name or email"); 
     return false; 
    } 

    var x=document.forms["myForm"]["email"].value; 
    if (x==null || x=="") 

    { 
     alert("You forgot to enter name or email"); 
     return false; 
    } 

    var x=document.forms["myForm"]["email"].value; 
    var atpos=x.indexOf("@"); 
    var dotpos=x.lastIndexOf("."); 
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) 

    { 
     alert("Not a valid e-mail address"); 
     return false; 
    } 
} 

Любые идеи? Есть ли другие способы сделать это?

+1

Ummm Переменная не может иметь тире («-») в ней. – qwertynl

+1

Ну. Что происходит, когда вы запускаете это? Это работает? – Alfabravo

+0

Нет, я не получаю результат, которого хочу. –

ответ

2

Для проверки подлинности электронной почты, вы должны использовать regexp, который будет проверять стандарт RFC 2822. Вы можете узнать больше об этом here

Также вы можете использовать jQuery.validate, если jQuery вам понравится.

И вы можете использовать HTML5 Form Validation, как

<input type="email" name="e-mail" /> 
+0

Спасибо за ссылку, не могу поверить, что это не появилось для меня в Google –

1

HTML5 имеет форма проверки встроенной, так что вы даже не нужно использовать JavaScript. Вы можете использовать эту функцию, если разрабатываете для IE10 +, Chrome или Firefox (caniuse.net).

Для получения сообщения об ошибке, когда поле пусто:

<input type="text" id="email" required> 

Требовать ввод, чтобы быть в определенном порядке (например, адрес электронной почты):

<input type="text" id="name" pattern="[a-z]"> 

Вы можете поместить в вашем предпочтительном регулярное выражение для проверки подлинности электронной почты в атрибуте «шаблон». См. here для ценного обсуждения.

Смежные вопросы