允许多个电子邮件 ID 以逗号分隔的正则表达式,不应允许在末尾和两个电子邮件 ID 之间使用多个逗号。
我允许多个电子邮件 ID 的正则表达式是((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)*([,])*)*
但它允许在电子邮件 ID 的末尾和两个电子邮件 ID 之间使用多个逗号例如:
**test@abc.com,,test2@abc.com,,**
这不应该被允许
您应该将([,])*
部分更改([,])?
为允许 0 或 1 个逗号,而不是任意数量的逗号。
尝试将字符限制放在逗号大小写{1}
之后[,]
,如下所示。
((\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)*([,]{1})*)*
我在正则表达式方面没有太多专业知识,但这会起作用,
^(.+@[^\.].*\.[a-z]{2,})(;.+@[^\.].*\.[a-z]{2,})*$
^(\s*,?\s*[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9})+\s*$
通行证
参考:
我建议你这样做:
^(([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4}){1}($|\;([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4}))+)$
为了更好的解释(我在网络上连接了这么多建议的解决方案),我邀请您使用这个很棒的工具,它很好地解释了 RegExp 部分:
https://regex101.com/r/e09X7F/1
简而言之 :
或者