我希望正则表达式验证多个电子邮件地址,以逗号分隔的长文本字段,但应该进行验证,以便字段只接受电子邮件ID格式的数据(例如:xyz@aig.com
,@xyz@abc.in
,xyz@abc.uk
)。
我试过正则表达式:-
^([A-Za-z]+[A-Za-z0-9.-]+@(([aig.com])|([abc.in])|([abc.uk]))+.[A-Za-z]{2,4}(s*(;|,)s*|s*$))+$)
如果用户输入(例如:abc@aig.uk,abc@aig.in)
该表达式也接受电子邮件id您可以使用它来验证指定的列表:
^(?:(?:[A-Za-z][A-Za-z0-9.-]*@(?:aig.com|abc.in|abc.uk))(?:,(?!$)|$))*$
演示。如果不接受负朝向,那么:
^(?:(?:[A-Za-z][A-Za-z0-9.-]*@(?:aig.com|abc.in|abc.uk)),)*(?:[A-Za-z][A-Za-z0-9.-]*@(?:aig.com|abc.in|abc.uk))$
值得注意的是:(?:aig.com|abc.in|abc.uk)
匹配aig.com
,abc.in
,abc.uk
中的任何一个。
在您的尝试中,[]
不需要,因为[aig.com]
匹配a
,acc.cc.s
或方括号内的任何符号排列。
(?:,(?!$)|$)
也匹配,
(如果它不是行的最后一个符号)或字符串的末尾。