javascript - 向 RFC 5322 电子邮件正则表达式添加附加条件
问题描述
我从评价最高的 Stackoverflow 答案中获取了这个正则表达式,以使邮件符合 RFC 5322,并且它似乎工作正常。
const re = /^(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;
return re.test('abcd@gmail.co+m')
我还想否定+在字符串的任何部分的出现。我应该在哪里进行更改
解决方案
推荐阅读
- linux - Linux grep y egrip
- iis - 阻止访问视频,但允许它们在网站上显示?
- sequelize.js - 续集 Model.associations[别名]。还有另一种获取关联模型的方法吗?
- python - 我什么时候需要为异步代码使用执行器?当我不(但应该)时会发生什么?
- python-3.x - Flask Application Factory 缺少模板文件夹
- java - Firebase 系统通知自动关闭
- python - 如何从 SQLAlchemy 中的查询结果集中删除一行?
- javascript - UnhandledPromiseRejectionWarning: TypeError: parsedWeather.sys.sunrise.toLocaleDateString 不是函数
- regex - PowerShell - 查找和修改字符串中的多个文本
- python - 传递给 Dataset.map() 的函数的返回值不受支持