【发布时间】:2018-03-24 15:58:59
【问题描述】:
Codepen 示例:
https://codepen.io/Trost/pen/KXBRbY
尝试在两个字段中输入 1 个符号。
我不明白出了什么问题。如果我在https://regex101.com 中测试这些正则表达式,它们似乎是相同的。
<form>
Works: <input type="text" name="country_code" pattern="[\d\s-]{3}" title="-23" required>
<input type="submit">
</form>
<form>
Bug: <input type="text" name="country_code" pattern="[\d-\s]{3}" title="- 3" required>
<input type="submit">
</form>
【问题讨论】:
-
-在[]字符类的中间使用时具有特殊含义。但是有\d和\s围绕它,它并没有多大意义,因此它可能会失败,具体取决于实现。但在[\d\s-]中,它位于类的末尾,这意味着它没有特殊含义。 -
这是因为您在 regex101.com 上使用 PCRE 选项进行测试,并且在 HTML5 模式中,它被解析为带有
u选项的 ES6 正则表达式。
标签: html regex html-input