首页 > 解决方案 > 用于域名输入的 HTML 正则表达式?

问题描述

目前我有一个接受域名的表格,所以我需要排除每个特殊字符和空格,除了.-被输入。

我当前的代码:

<input type="text" name="domain-name" placeholder="i.e. example.com" pattern="^(\d|\w)+$" class="form-field w-input" required id="domain-name">

不接受.-

我该如何更改它以使其接受.-

标签: htmlregex

解决方案


模式属性应该看起来像

pattern="[\w.-]+"

细节

  • ^字符串开头)和$(字符串结尾)锚点在模式正则表达式中是多余的,因为生成的 RegExp 对象是使用在属性值中键入的字符串模式^(?:之前和之后编译的)$
  • \w自己匹配数字,所以[\w\d]=\w
  • 要匹配.or -,您需要将 放入\w字符类中,并将and[]添加到该字符类中。.-

推荐阅读