验证角正则表达式,以便它没有info @,admin @,help @,sales @

时间:2017-04-25 20:47:42

标签: angularjs regex

我想使用angular ng-pattern

阻止某种电子邮件

以下电子邮件无效

  

info@anything.com

     

admin@anything.com

     

help@anything.com

     

sales@anything.com

以下正则表达式

^((?!info)(?!admin)(?!help)(?!sales)[a-zA-Z0-9._%+-])+@[a-zA-Z0-9.-]+\.[a-zA-Z]{1,63}$

但不像我预期的那样,因为我想要允许,即

  

information@anything.com

如何阻止信息@,admin @,help @,sales @?

由于

1 个答案:

答案 0 :(得分:1)

您可以将前瞻加入1并在值之后添加@,以确保您将用户部分与@(整体)匹配:

/^(?!(?:info|admin|help|sales)@)[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{1,63}$/
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

请参阅regex demo

如果在字符串((?!(?:info|admin|help|sales)@))开头后有^info@admin@,则help@否定前瞻会使匹配失败,或sales@