【发布时间】:2019-02-03 23:01:12
【问题描述】:
我正在使用 jQuery .validate 插件。我编写了一个自定义规则,允许使用逗号分隔的电子邮件地址,如下所示:
$.validator.addMethod('csvEmail', function (value, element) {
return this.optional(element) || /^((([^<>()\[\]\\.,;:\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,}))+(,|, |$))*$/.test(value);
}, "Please enter a valid email address or multiple valid addresses separated by a comma.");
这适用于:test@test.com, example@test.com,中间没有空格也一样。
但这就是我卡住的地方,因为它也适用于:test@test.com,,这是我的问题。
需要更改正则表达式的哪一部分以禁止以逗号结尾的有效电子邮件地址?
【问题讨论】:
-
电子邮件地址的正则表达式并不是那么简单,请看看这些网站:valid/invalid addresses; regex for RFC822 email address