Javascript 电子邮件验证功能循环未推送所有值
我有一个逗号分隔的字符串值,我正在尝试拆分和清除有效电子邮件。虽然我已经能够将字符串拆分为一个数组,并且有一个功能来验证电子邮件地址的数组项,但它似乎没有循环遍历每个项并将有效的项推送到新数组中。目前我只推了一个值 提供以下字符串:Javascript 电子邮件验证功能循环未推送所有值,javascript,Javascript,我有一个逗号分隔的字符串值,我正在尝试拆分和清除有效电子邮件。虽然我已经能够将字符串拆分为一个数组,并且有一个功能来验证电子邮件地址的数组项,但它似乎没有循环遍历每个项并将有效的项推送到新数组中。目前我只推了一个值 提供以下字符串: 'test@gmail.com, email, nice@test.com' 以下是功能: function validateEmail(email) { var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<
'test@gmail.com, email, nice@test.com'
以下是功能:
function validateEmail(email) {
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);
}
function emailParser(emailString){
var preFilterEmails = emailString.split(",");
var postFilterEmails = [];
for(i = 0; i < preFilterEmails.length; i++){
console.log(preFilterEmails);
if(validateEmail(preFilterEmails[i])){
console.log("Filtered");
console.log(preFilterEmails[i]);
postFilterEmails.push(preFilterEmails[i])
}
}
return postFilterEmails;
}
请尝试内置(连同和一起删除多余的空白):
const re=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*(\“+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]+[1,3}.+];
常量emailString=test@gmail.com电子邮件nice@test.com';
让emails=emailString.split(',')
.map(s=>s.trim())
.过滤器=>重新测试;
控制台日志(电子邮件)编码>这是因为逗号后有空格。您可以在split()之后trim()
功能验证电子邮件(电子邮件){
变量re=/^([^()[\]\\,;:\s@\“]+(\.[^()[\]\,;:\s@\“]+)*)(\'+\”)(\[[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[1,3}.[0-9]{1,3}.];
返回重新测试(电子邮件);
}
函数emailParser(emailString){
var preFilterEmails=emailString.split(“,”).map(x=>x.trim());
var postFilterEmails=[];
对于(i=0;i
[ 'test@gmail.com', ' email', ' nice@test.com' ]
Filtered
test@gmail.com
[ 'test@gmail.com', ' email', ' nice@test.com' ]
[ 'test@gmail.com', ' email', ' nice@test.com' ]
[ 'test@gmail.com' ]