我试图限制 HTML 文本框中的用户只插入 4 位数字 0-9。
我已经尝试如下,但它仅限于允许两位数字。
<input type="text" name="pincode" maxlength="4" id="pin" pattern="^0[1-9]|[1-9]\d$" required/>
原文由 Nur Selam 发布,翻译遵循 CC BY-SA 4.0 许可协议
我试图限制 HTML 文本框中的用户只插入 4 位数字 0-9。
我已经尝试如下,但它仅限于允许两位数字。
<input type="text" name="pincode" maxlength="4" id="pin" pattern="^0[1-9]|[1-9]\d$" required/>
原文由 Nur Selam 发布,翻译遵循 CC BY-SA 4.0 许可协议
请尝试添加以下内容:
<input type="text"
maxlength="7"
onkeypress='return event.charCode >= 48 && event.charCode <= 57'
required
/>
原文由 Khaleel Hmoz 发布,翻译遵循 CC BY-SA 3.0 许可协议
3 回答2.1k 阅读
2 回答1k 阅读✓ 已解决
4 回答976 阅读
2.6k 阅读
2 回答889 阅读
1 回答1.4k 阅读
2 回答506 阅读
让我澄清一下:任何
^[0-9]{4}$
或^\d{4}$
都是有效的正则表达式,仅将值限制为 4 位数字。但是,pattern
HTML5 属性 值已经默认锚定:所以,只使用
pattern="\d{4}"
:BTW, your
^0[1-9]|[1-9]\d$
pattern matches only 2 digit inputs because it matches either0
followed by any digit from1
to9
, or any从1
到9
的数字后跟任何数字。另外,请注意
pattern="\d{4}"
属性不会阻止在字段中输入非数字符号。请参阅 如何防止在输入字段中输入无效字符 发布如何解决该问题。