印度密码验证正则表达式 - 只有六位数字,不应以“0”开头
Indian pincode validation regex - Only six digits, shouldn't start with `0`
我已经尝试了 Regex accept numeric only. First character can't be 0 and What is the regex for "Any positive integer, excluding 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}$
解释:
^
: 以 anchor 开头
[1-9]
:正好匹配1到9中的一个数字
[0-9]{5}
:正好匹配0-9
范围内的五位数字
$
:以锚点结尾
HTML5 演示:
input:invalid {
color: red;
}
<input type="text" pattern="[1-9][0-9]{5}" />
一些网站和银行有在 3 位数字后间隔密码的习惯。
要同时匹配 515411 和 515 411,以下模式会有所帮助。
^[1-9]{1}[0-9]{2}\s{0,1}[0-9]{3}$
- ^[1-9]{1} - 以数字 1-9 开头的 PIN 码
- [0-9]{2} - 接下来的两位数字可能介于 0-9
之间
- \s{0,1} - Space 可能出现一次或永远不会出现
- [0-9]{3}$ - 最后 3 位必须是 0-9 范围内的数字
这个正则表达式涵盖;
PIN 码不是从零开始
只允许 6 位数字
允许 6 个连续数字(例如 431602)
允许在 3 位数字后添加 1 space(例如 431 602)
([1-9]{1}[0-9]{5}|[1-9]{1}[0-9]{3}\s[0-9]{3})
我已经尝试了 Regex accept numeric only. First character can't be 0 and What is the regex for "Any positive integer, excluding 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}$
解释:
^
: 以 anchor 开头
[1-9]
:正好匹配1到9中的一个数字[0-9]{5}
:正好匹配0-9
范围内的五位数字
$
:以锚点结尾
HTML5 演示:
input:invalid {
color: red;
}
<input type="text" pattern="[1-9][0-9]{5}" />
一些网站和银行有在 3 位数字后间隔密码的习惯。 要同时匹配 515411 和 515 411,以下模式会有所帮助。
^[1-9]{1}[0-9]{2}\s{0,1}[0-9]{3}$
- ^[1-9]{1} - 以数字 1-9 开头的 PIN 码
- [0-9]{2} - 接下来的两位数字可能介于 0-9 之间
- \s{0,1} - Space 可能出现一次或永远不会出现
- [0-9]{3}$ - 最后 3 位必须是 0-9 范围内的数字
这个正则表达式涵盖;
PIN 码不是从零开始
只允许 6 位数字
允许 6 个连续数字(例如 431602)
允许在 3 位数字后添加 1 space(例如 431 602)
([1-9]{1}[0-9]{5}|[1-9]{1}[0-9]{3}\s[0-9]{3})