禁止的正则表达式._或.-(电子邮件验证/javascript)

regex to disallow ._ or .- (email validation / javascript)

本文关键字:验证 电子邮件 javascript 正则表达式 禁止      更新时间:2023-12-10

这是我当前的正则表达式:

^([-a-zA-Z0-9'_+'/]+([-.'_+'/][-a-zA-Z0-9'_+'/]+)*)@(([a-zA-Z0-9]+(('.|[-]{1,2})[a-zA-Z0-9]+)*)'.[a-zA-Z]{2,6})$ 

验证电子邮件地址(是的,我知道除了最简单的条款外,我不应该尝试验证电子邮件地址,但我们的电子邮件供应商会拒绝特殊字符等)。

这个正则表达式满足除一个之外的所有要求

Regex不是我的专长,尽管我能够来到这里。如有任何帮助,我们将不胜感激。

谢谢。

您的正则表达式(除了分组(...)^[-a-zA-Z0-9'_+'/]+开头之外,这意味着开头的^后面跟着一个或多个+允许的字符[...]。在这种情况下,它们是连字符、小写/大写字母、数字、撇号、下划线、加号或前斜杠。

第二部分是你需要改变的。在正则表达式中,它是([-.'_+'/][-a-zA-Z0-9'_+'/]+)*,这是一种可能多次出现的模式,但也不必是*。该模式由两部分组成:一部分是允许使用的字符:连字符、句点/点、撇号、下划线、加号或前斜杠;后跟一个或多个连字符、小写/大写字母、数字、撇号、下划线、加号或前斜杠。

如果从图案的第一部分删除句点/点,则不允许使用此字符。但因为您希望允许句点/句点,但不能使用相同的字符集,所以必须定义替代模式。

如果第二部分将从([-.'_+'/][-a-zA-Z0-9'_+'/]+)*更改为具有句点/句点替代项的模式:([-'_+'/][-a-zA-Z0-9'_+'/]+|'.[a-zA-Z0-9'+'/]+)*,那么最终的regex将满足您的需要。如您所见,添加了|'.[a-zA-Z0-9'+'/]+,其内容为:或|模式单句点/点,后跟一个或多个小写/大写字母、数字、撇号、加号或前斜杠。

最后的正则表达式是:

^([-a-zA-Z0-9'_+'/]+([-'_+'/][-a-zA-Z0-9'_+'/]+|'.[a-zA-Z0-9'+'/]+)*)@(([a-zA-Z0-9]+(('.|[-]{1,2})[a-zA-Z0-9]+)*)'.[a-zA-Z]{2,6})$