html5模式匹配一​​些单词

时间:2015-11-14 04:03:33

标签: regex html5 pattern-matching

我正在使用表单验证,并希望使用模式属性来验证输入字段。该字段具有以下标准:

  1. 长度至少应为2个字符
  2. 它不能只是空间
  3. 它不能包含一些常见字词,例如offorthe等。 (不区分大小写的匹配)
  4. 那么RegEx的确切模式应该是什么呢。我正在尝试使用以下代码但不起作用?

    <input type="text" 
           pattern="^/[^of|for|the]/i$" 
           title="Avoid words like: of, for, the">
    

1 个答案:

答案 0 :(得分:1)

您错误地将字符类用于组。您不应将分隔符传递给HTML5模式属性。

另请注意,由于您无法使用正则表达式传递flags / modifiers,因此必须使用[oO]等字符类以不区分大小写的方式匹配o

此外,图案被锚定,即放置在(?:...)内,因此,无需在图案周围使用锚点。

使用

(?!.*\b(?:[Oo][Ff]|[fF][Oo][Rr]|[Tt][hH][Ee])\b)(?!\s+$).{2,}