2011-01-18 2 views
1

Я создаю регистрационную форму и использую скрипт проверки jquery. Существует два текстовых поля ввода адреса электронной почты. Email 1 должен совпадать с электронной почтой 2. Как мы проверяем эти два письма, чтобы убедиться, что второе письмо соответствует 1-му электронному письму? Надеюсь, кто-то может помочь с скриптом проверки. Вот моя кодировка текстовых полей.JQuery - сопоставить два адреса электронной почты

<label class="input required">7. Email Address:</label> 
<input name="author_email" id="author_email" class="inputclass pageRequired email" maxlength="254" title="Email address required" /> <br /> 

<label class="input required">8. Confirm Email:</label> 
<input name="author_confirm_email" id="author_confirm_email" class="inputclass pageRequired email" equalTo:"#author_email" maxlength="254" title="Please confirm your email address" /> <br /> 

спасибо.

+1

Из любопытства, как вы его обрабатываете, если пользователь отключил скрипты? :) –

+0

Это очень хороший момент, сделанный Демианом. Проверка на лицевой стороне только так же хороша, как и параметры javascript пользователя. – picus

ответ

5
if($("#author_email").val() != $("#author_confirm_email").val()) 
{ 
alert("emails don't match, sucka"); 
} 
+0

Спасибо. Я использую код через griegs и использую предупреждающее сообщение. Кажется, сейчас хорошо работает – Caremy

+1

SUKAAAAAAAAAAAA – AndreaNobili

0

В случае размытия либо вы можете проверить, имеют ли они одинаковые значения. не забудьте применить toLowercase().

Вы также можете использовать плагин Validation http://docs.jquery.com/Plugins/validation

$(".email").blur(function(){ 
    //check to two here. 
    if ($("#author_email").val() != $("#author_confirm_email").val()) 
    { 
    //do something 
    } 
}); 
+0

Я получил его работу на основе вашего кодирования. – Caremy

+0

$ (". Email"). Blur (function() { // проверьте здесь два. if ($ ("# author_email"). Val()! = $ ("# Author_confirm_email"). Val()) { alert ("Убедитесь, что ваш адрес электронной почты соответствует"); } }); – Caremy

0
function isValidEmailAddress(emailAddress) { 
    var pattern = new RegExp(/^(("[\w-\s]+")|([\w-]+(?:\.[\w-]+)*)|("[\w-\s]+")([\w-]+(?:\.[\w-]+)*))(@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][0-9]\.|1[0-9]{2}\.|[0-9]{1,2}\.))((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\.){2}(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[0-9]{1,2})\]?$)/i); 
    return pattern.test(emailAddress); 
} 
function validation(){ 
var firstmail = $("#author_email").val(); 
var secondmail = $("#author_confirm_email").val(); 
if(firstmail.length != 0){ 
if(!isValidEmailAddress(firstmail)){ 
$("#error").html('please fill first mail valid'); 
} 

} 
else 
$("#error").html('first mail is required'); 
if(secondmail.length != 0){ 
if(!isValidEmailAddress(secondmail)){ 
$("#error").html('please fill second mail valid'); 
} 
} 
else 
$("#error").html('second mail required'); 

if(firstmail != secondmail){ 
$("#error").html('mail not match'); 
} 
} 

может быть, это поможет вам решить головоломку.

+0

Спасибо за помощь. Ценить это – Caremy

0

Немного поздно вклад, но я работал на моей форме проверки и я делаю так:

как вход имеет тот же класс, у вас есть «электронная почта», так что вы можете управлять им таким образом, вместо того, чтобы с конкретными идентификаторами, и вы можете повторно использовать фрагмент в другом месте:

if ($('.email').length == 2) { 
    var first_email = $('.email').first(); 
    var second_email = $('.email').last(); 
    if (first_email.val() != '' && first_email.val() != second_email.val()) { 
    console.log('emails does not match'); 
    } 
    else{ 
    console.log('emails match'); 
    } 
}