首页 > 解决方案 > 如何使用 javascript 或 jquery 在单个文本字段中验证多个电子邮件地址

问题描述

文本域

验证应符合以下要求。

  1. 电子邮件 id 应以逗号和分号分隔;
  2. 输入字段中不会重复相同的电子邮件 ID。

正则表达式或找到其他方法来做到这一点。

标签: javascriptjquery

解决方案


仅供参考,拆分和验证电子邮件。

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(String(email));
}
const validate = (emails = "") => {
  emails = emails.split(/[;,]/).map((x) => x.trim().toLocaleLowerCase());
  if (emails.length !== new Set(emails).size) return false;
  return emails.every(validateEmail);
};
console.log(validate("a@d.com"));
console.log(validate("a@d.com;b@sn.com"));
console.log(validate("ad.com"));
console.log(validate("a@sd.com,d@.c"));
console.log(validate("a@sd.com,d@gs.co"));
console.log(validate("a@sd.com;a@sd.com"));


推荐阅读