代码之家  ›  专栏  ›  技术社区  ›  sigur7

使用Regex模式验证HTML表单条目

  •  0
  • sigur7  · 技术社区  · 7 年前

    <input name="url" pattern="[^=]+" type="url" placeholder="Amazon URL" required>
    

    有效条目

    https://www.amazon.co.uk/dp/B01DFKBL68 https://www.amazon.co.uk/dp/B07H3NY1H6/ https://www.amazon.co.uk/b/ref=footer_topup_uk?ie=UTF8&node=13958953031&tag=deals70-21

    无效条目

    https://www.amazon.com/Disc-O-Bed-Large-with-Organizers-Black/dp/B01GSA9O3O https://www.google.com

    到目前为止,我所掌握的信息并不奏效:

    pattern="[^=|https://www.amazon.co.uk/*]+"
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Wiktor Stribiżew    7 年前

    pattern="(?!https://www\.amazon\.co\.uk/)[^=]+"
    

    HTML5模式regex会自动放入 ^(?: )$ ,所以看起来 ^(?:(?!https://www\.amazon\.co\.uk/)[^=]+)$ :

    • ^(?: -字符串和非捕获外部容器组的开头
    • (?!https://www\.amazon\.co\.uk/) https://www.amazon.co.uk/
    • [^=]+ -一个或多个字符,而不是 =
    • )$ -非捕获组的结尾和字符串的结尾。