我需要一个正则表达式模式,其中最大长度为12,如果用户输入则不应接受0。
我目前的模式不起作用。这是:
[0-9]{0,12}
欢迎任何建议以及模式的解释。
答案 0 :(得分:1)
^[1-9]{0,12}$
表示最多12位数(不包括0),允许使用左侧的emtpy。
如果需要此字段,您可以将minimun更改为1,^[1-9]{1,12}$
顺便说一下,^
和$
表示输入字符串的开头和结尾。
如果您的正则表达式为[1-9]{1,12}
,而没有^
和$
,则允许"abc123def"
,因为中间部分123
已匹配。
答案 1 :(得分:0)
我没有完全解决你的问题,但我可以给提示
1对于MAX长度,您可以使用 \ d {MIN,MAX}
在你的情况下 EX \ d {12}
2仅允许1-9位你可以使用 ^([1-9]?)$
[1-9]设置允许仅在该组中下降的数字
您可以查看http://regexpal.com/
答案 2 :(得分:0)
我认为遵循正则表达式应该符合您的目的
^[1-9]\d{0,11}$
它将接受所有正常用例,只是用户需要输入字符串而不是前导0.所以12345将被接受但不是012345。