【发布时间】:2017-11-28 02:29:07
【问题描述】:
我有一个用于电子邮件地址的 JavaScript 正则表达式:
/^(([^<>()\[\]\\.,;:\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,}))$/
在这里提琴:https://regex101.com/r/8Z9ORb/1
在 .Validate 插件中使用,这将允许 test@test.com 但不允许 test@test 和其他错误的电子邮件地址。
但是,如果逗号分隔,我如何允许重复此模式?即,我该如何允许:
- test@test.com
- test@test.com,example@exmaple.com
- test@test.com、example@exmaple.com、Nth@moreemails.com(注意空格)
虽然不允许 CSV 中的错误电子邮件或错误 CSV,例如:
- test@test.com,testtest.com
- test@test.com 和 test2@test2.com
【问题讨论】:
-
提示:如果
/^A$/只允许“A”,则/^A(, ?A)*$/允许“A”后跟零个或多个“,A”,逗号后有一个可选空格。 -
您正在尝试使用正则表达式作为工具来完成两项工作:验证电子邮件地址,将“坏”电子邮件地址列入黑名单。提示 2:不要那样做。
标签: javascript regex