这是我的正则表达式^[A-Z]{2}[0-9]{6}[A-Z]{1}?$
我正在angularjs
ng-pattern-restrict
中使用此表达式。我无法在输入字段中输入任何内容。
如果我使用^[A-Z]{0,2}[0-9]{0,6}[A-Z]{0,1}?$
:则此表达式可以输入三个字母,但不能输入数字。
如果我要输入两个字母,则只能输入六个数字。如果我要输入三个字母,则不能输入数字
我需要这样的结果:PP123456P
表达式。
任何人都可以帮助我
答案 0 :(得分:0)
^[A-Z]{0,2}[0-9]{1,6}[A-Z]{1}?$
应该工作,您可以输入3个字母的原因是,允许第二组的大小为0-6,然后当您输入3个字母时,它与前2个字母组(长度为0的数字组)匹配比赛,最后是最后的Alpha。通过将其更改为1-6,您可以强制输入介于1到6之间的数字。
答案 1 :(得分:0)
您似乎在正则表达式中有点多余,并且不太确定要使用[A-Z]{1}?
做什么,这应该是可选字母吗?
尽管与您可以使用的国民保险号码的实际验证规则相比,这很简单
^[A-Z]{2}[0-9]{6}[A-Z]$
打破这个...
^
必须在字符串开头匹配[A-Z]{2}
正好在A-Z范围内的2个字母[0-9][6]
恰好6位数字,范围为0-9 [A-Z]
正好在A-Z范围内的1个字母$
在之前的比赛之后不能再有其他