Javascript Regexp不敏感

时间:2017-02-15 16:30:11

标签: javascript regex salesforce

这是我的问题:

我尝试为Salesforce 中的验证模式字段制作特定正则表达式。我们的想法是创建Something以帮助人们以常规形式填充文本框。

以下是规范

  1. 授权角色:[a-z0-9/?:(),'.+ -]
  2. 不接受的字词:discountwww如果其他字词包含discountwww,则不得接受,例如:helldiscount =>不接受
  3. 整个正则表达式必须不敏感
  4. 未经授权的规范:.xxx(接下来是3个字母)和.xx(接下来是2个字母)
  5. 以下是正则表达没有规范不敏感规范

    ^(?!discount|www)([a-zA-Z0-9/?:(),.'+ -]+)$
    

    我努力使这个正则表达式不敏感,并尝试添加spécifications但我的工作实际上不起作用;这是工作:

    (?i)^(?!(?:discount|www)$)([a-z0-9/?:(),'.+ -]+)$
    

    我想念Something,我无法理解它是什么。

    帮助将不胜感激,谢谢!

2 个答案:

答案 0 :(得分:0)

您正在测试discountwww是否不在字符串的开头,您必须在字符串中的任何位置进行测试:

^(?i)(?!.*discount|.*www)([a-zA-Z0-9/?:(),.'+ -]+)$
//      ^^         ^^

答案 1 :(得分:0)

我不知道salesforce,但是在Javascript中,如果您测试以下正则表达式是否匹配则最简单:

(discount|www|[^a-z0-9/?:(),.'+ -])