подтвердить электронную почту с помощью регулярного выражения JQuery - PullRequest
0 голосов
/ 05 марта 2012

в связи с этой проблемой:

как установить минимальную длину для поля с помощью jquery?

<form id="new_invitation" class="new_invitation" method="post" data-remote="true" action="/invitations" accept-charset="UTF-8">
<div id="invitation_form_recipients"> 
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_0"><br>
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_1"><br>
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_2"><br>
<input type="text" value="" name="invitation[recipients][]" id="invitation_recipients_3"><br>
</div>
<input type="submit" value="Send invitation" name="commit">
</form>

Код для установки минимальной длиныполе с jquery?

$('#new_invitation').submit(function(event) {
if ($('#invitation_form_recipients input').filter(function() {
    return $(this).val();
}).length == 0) {
    // all the fields are empty
    // show error message here

    // this blocks the form from submitting
    event.preventDefault();
}

});

Как я могу проверить, что у каждого ввода поля есть действительный адрес электронной почты с jquery?в приведенном выше коде?

Спасибо!

Решение!

$('#new_invitation').submit(function(e)  {
 $('#invitation_form_recipients input').each(function(e) {
   email_address = $(this);
   email_regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/i;
   if(!email_regex.test(email_address.val())){ alert('this is not valid email'); e.preventDefault(); return false;  }
 });    
});

Ответы [ 3 ]

23 голосов
/ 05 марта 2012

Возможно, вы захотите использовать регулярное выражение, подобное описанному здесь , чтобы проверить формат. Когда форма будет отправлена, запустите следующий тест для каждого поля:

var userinput = $(this).val();
var pattern = /^\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b$/i

if(!pattern.test(userinput))
{
  alert('not a valid e-mail address');
}​
3 голосов
/ 20 декабря 2016

Это регулярное выражение может помочь вам проверить ваш адрес электронной почты в соответствии со всеми критериями, которые использовал gmail.com.

var re = /^\w+([-+.'][^\s]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;

var emailFormat = re.test($("#email").val());// this return result in boolean type

if (emailFormat) {}
0 голосов
/ 02 марта 2017
function mailValidation(val) {
    var expr = /^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$/;

    if (!expr.test(val)) {
        $('#errEmail').text('Please enter valid email.');
    }
    else {
        $('#errEmail').hide();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...