javascript - 如何使用 javascript 或 jquery 在单个文本字段中验证多个电子邮件地址
解决方案
仅供参考,拆分和验证电子邮件。
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"));
推荐阅读
- database - 如何在 Cassandra 中按上次更新日期对数据进行排序?
- postgresql - 如何根据同一个表在另一个数据库中更新一个数据库中的表记录?
- python - 将元素添加到字典中的嵌套数组,将序列转换为具有嵌套数组的可读字典python
- reactjs - 在 CRA 应用程序中使用 SVG 文件作为 React 组件
- docker - Docker 从文件安装
- node.js - Nodejs mongodb在事务中查找和更新多个文档
- docker - Docker 设备路径因命令而异
- c# - 为什么 float.TryParse() 接受“1.000e-45”并将其四舍五入为 1.401298E-45?
- reactjs - KeyboardDatePicker - 无法获得对内部输入元素的引用
- python-3.x - 如何将多个 seaborn 计数图与共享的 y 轴结合起来