如何在Regex中阻止字符串末尾的额外字符?

时间:2016-03-16 20:36:14

标签: javascript regex

背景

我正在开发一个Javascript应用程序,用户必须使用特定的电子邮件域进行注册(@a.com@b.com。其他任何内容都会被拒绝。

我创建了一个正则表达式字符串,确保用户不会在@a.com前面没有任何内容,并且仅限用户@a.com@b.com。最后一步是确保用户不会通过@a.com

之类的操作在@a.com.gmail.com末尾添加额外的字符

这是我目前拥有的正则表达式: \b[a-zA-Z0-9\.]*@(a.com|b.com)

问题

我可以在最后使用哪些内容来阻止在a.comb.com之后添加任何内容?我是正则表达式的新手,不知道从哪里开始。

1 个答案:

答案 0 :(得分:4)

要解决您的问题,请将$添加到正则表达式的结尾。 $表示您的匹配应该是字符串'端。

您还可以将(a.com|b.com)缩减为[ab]\.com看,我也逃过了点

字符类[ab]表示应匹配其中一个字符。

选中demo

如评论中所述,请务必使用(m)ultiline标记,这样正则表达式引擎会将每一行威胁为单独的字符串。