使用正则表达式模式验证HTML表单条目

时间:2018-10-06 12:26:34

标签: javascript regex html5 forms validation

我目前使用正则表达式模式来防止在表单条目中使用=。我是否希望将其扩展为仅允许某些URL中的此字段中的表单条目?如何添加通配符域正则表达式条目并使用other =模式进行维护?

<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 个答案:

答案 0 :(得分:0)

您可以使用

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

HTML5模式正则表达式自动放入^(?:)$内,因此看起来像^(?:(?!https://www\.amazon\.co\.uk/)[^=]+)$

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