我试过正则表达式只接受数字。第一个字符不能为 0,“任何正整数,不包括 0”的正则表达式是什么,但这不能按照我的要求工作。
我想要确切的 6 位数字,但不应该以0
我试过了
^[1-9][0-9]{6}*$
^([^0][0-9]){6}$
...
需要微调。
我试过正则表达式只接受数字。第一个字符不能为 0,“任何正整数,不包括 0”的正则表达式是什么,但这不能按照我的要求工作。
我想要确切的 6 位数字,但不应该以0
我试过了
^[1-9][0-9]{6}*$
^([^0][0-9]){6}$
...
需要微调。
问题^[1-9][0-9]{6}*$
在于它是一个无效的正则表达式{6}*
,因为^([^0][0-9]){6}$
它允许任何不0
跟六位数字的字符。
利用
^[1-9][0-9]{5}$
解释:
^
: 从锚开始[1-9]
: 匹配 1 到 9 中的一个数字[0-9]{5}
: 精确匹配包含范围内的五个数字0-9
$
: 以锚结尾HTML5 演示:
input:invalid {
color: red;
}
<input type="text" pattern="[1-9][0-9]{5}" />
这个正则表达式涵盖;
PIN 码不是从零开始
仅允许 6 位数字
允许 6 个连续数字(例如 431602)
在 3 位数字后允许 1 个空格(例如 431 602)
([1-9]{1}[0-9]{5}|[1-9]{1}[0-9]{3}\\s[0-9]{3})
一些网站和银行有在 3 位数字后间隔密码的习惯。要匹配 515411 和 515 411,以下模式将有所帮助。
^[1-9]{1}[0-9]{2}\s{0,1}[0-9]{3}$