问题描述
我想为 HTML 输入字段创建一个模式,该模式需要至少包含 10 个数字,并且可能还有空格和加号,但这不是必需的。
数字和空格可以混合使用很重要。而且,整个字段总共只能有 17 个字符。
我不确定这是否可能。我开始做这样的事情:
pattern="[0-9+\s]{10,17}*"
但像这样,并不能保证至少有 10 个数字。
提前致谢!希望这个问题不存在,我看了但找不到。
解决方法
你可以使用
pattern="(?:[+\s]*\d){10,17}[+\s]*"
正则表达式匹配
-
(?:[+\s]*\d){10,17}
- 十到十七次出现零个或多个+
或空格,然后是一个数字 -
[+\s]*
- 零个或多个+
或空格。
请注意,该模式默认是锚定的(它用 ^(?:
和 )$
包裹),因此不允许其他任何内容。