HTML5输入模式匹配验证0到22之间的数字

时间:2017-03-23 21:20:42

标签: regex html5 validation

如果我想要0到22之间的数字,我如何使用模式验证进行输入?我知道我可以使用:

<input type="number" min="0" max="22" /> 

但是我必须使用type="text"我正在尝试使用该正则表达式:/^(0?[1-9]|2[012])$/但它不是我所期望的。

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

你很接近,但你没有考虑以1开头的数字:

/^([0-1]?[0-9]|2[0-2])$/

答案 1 :(得分:1)

从0到22,您需要使用

pattern="[10]?[0-9]|2[012]"

请注意,您不需要使用^$,因为pattern属性默认使用^(?:(在开头)和{)$包装正则表达式{1}}(最后)。

如何运作[10]?[0-9]匹配可选的10及其后的任何数字(即0 / { {1}}到00),或(19|匹配2[012],然后20或{{1} }。

请参阅regex demo

&#13;
&#13;
1
&#13;
2
&#13;
&#13;
&#13;