Javascript 正则表达式不敏感

标签 javascript regex salesforce

这是我的问题:

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

以下是规范:

  1. 授权字符:[a-z0-9/?:(),'.+ -]
  2. 不接受的单词:discountwww,如果另一个单词包含 discountwww,则不得使用被接受,例如: helldiscount => 不被接受
  3. 整个正则表达式必须不敏感
  4. 未经授权的规范:.xxx(指向接下来的 3 个字母)和 .xx(指向接下来的 2 个字母)

这是没有规范不敏感规范的正则​​表达式:

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

我致力于使这个正则表达式不敏感并尝试添加规范,但我的工作实际上不起作用;这是工作:

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

我想念一些东西,但我不明白它是什么。

非常感谢您的帮助,谢谢!

最佳答案

您正在测试 discountwww 是否不在字符串的开头,您必须测试字符串中的所有位置:

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

关于Javascript 正则表达式不敏感,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42254945/

相关文章:

java - 使用 talend 进行 salesforce Org 同步

javascript - 为什么当我点击复选框时不调用函数 onclick?

regex - 在由 "."分隔的字符上通过正则表达式拆分数据框列

java - 与 salesforce 的双向同步 (java)

regex - 如何制作正则表达式来替换 json 文件中的键值

php - htaccess 删除 www 并重定向到访问的 url

java - common.apex.runtime.impl.ExecutionException : Unexpected end of file from server apex

javascript - 使用 AngularJS 和 NodeJS 从 MySQL 中检索数据

javascript - 需要从数组中删除字符串

javascript - 判断一个(dojo)dijit.Editor中的内容是否与初始值不同