У меня есть этот сценарий, где он перебирает массив и его предполагается проверить, если каждое из значений в массиве является электронная почта с этой функцией:.each JQuery() из цикла
function isEmail(email) {
var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
return regex.test(email);
}
Полагал перелистать массив:
$.each(arrayEmail,function(i){
var checkEmail = isEmail(arrayEmail[i]);
if(checkEmail != false){
alert(arrayEmail[i]);
var message = $('#sendMsg textarea.emailMsg').val();
$.ajax({
type:'post',
url:'ajax_inviteMsg.php',
data: 'to='+$.trim(arrayEmail[i])+'&message='+message,
success: function(data){
alert(data);
}
});
}
});
alert(arrayEmail[i]);
после проверки, если адрес электронной почты, если ложные или не отображает только первое значение, которое говорит мне, что это только перебираю если заявление один, однако, я проверил электронную почту и должно работать Безразлично 't пройти через это утверждение if.
Если предупреждение сразу после каждой функции, оно выполняет итерацию через значения в корне.
Опять же, электронные письма верны и должны выполняться с использованием оператора if как истинного.
Я просто хочу знать, что я делаю неправильно, потому что он только передает инструкцию if один раз, если в массиве есть несколько значений.
Благодаря
EDIT
У меня также есть это перед каждой функцией
<div>[email protected], [email protected]</div>
var emails = $('div').text();
var arrayEmail = emails.split(',');
Поместить 'alert (arrayEmail [i] +" "+ isEmail (arrayEmail [i]));' перед if, возможно, что-то не так с вашим регулярным выражением. –
@TomWijsman функционирует так, как предполагалось. Кроме того, я отредактировал свой OP, чтобы вы знали, что для получения моих значений я использовал этот код внутри div – hellomello
Пожалуйста, создайте скрипку с некоторыми примерными данными. –