我有这个脚本,它在其中循环遍历一个数组,它应该检查数组中的每个值是否是带有此函数的电子邮件:
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]);
检查电子邮件是否为假后仅显示第一个值,这告诉我它仅迭代 if 语句之一,但是,我已经测试了电子邮件并且应该可以正常工作并没有通过该 if 语句。
如果在每个函数之后立即发出警报,它会正确地遍历这些值。
同样,电子邮件是真实的,应该通过 if 语句作为真实的迭代。
我只想知道我做错了什么,如果数组中有多个值,它只会传递一次 if 语句。
谢谢
编辑
我在每个函数之前也有这个
<div>test@gmail.com, fresh@hotmail.com</div>
var emails = $('div').text();
var arrayEmail = emails.split(',');