Javascript 最大长度为12的正则表达式模式

Javascript 最大长度为12的正则表达式模式,javascript,regex,Javascript,Regex,我需要一个最大长度为12的正则表达式模式,如果用户输入,它不应该接受0 我目前的模式不起作用。这是: [0-9]{0,12} 欢迎提出任何建议,并解释模式。我没有您问题的确切解决方案,但我可以给出提示 1表示最大长度,您可以使用\d{MIN,MAX} 就你而言 EX\d{12} 2仅允许使用1-9位数您可以使用^[1-9]$ [1-9]设置为只允许该设置中的数字 您可以检查此项^[1-9]{0,12}$表示最多12位数字,不包括0,允许使用左emtpy 如果需要此字段,则可以将最小值更改为1,

我需要一个最大长度为12的正则表达式模式,如果用户输入,它不应该接受0

我目前的模式不起作用。这是:

[0-9]{0,12}

欢迎提出任何建议,并解释模式。

我没有您问题的确切解决方案,但我可以给出提示

1表示最大长度,您可以使用\d{MIN,MAX}

就你而言 EX\d{12}

2仅允许使用1-9位数您可以使用^[1-9]$

[1-9]设置为只允许该设置中的数字

您可以检查此项

^[1-9]{0,12}$表示最多12位数字,不包括0,允许使用左emtpy

如果需要此字段,则可以将最小值更改为1,^[1-9]{1,12}$

顺便说一下,^和$表示输入字符串的开始和结束


如果您的regexp是[1-9]{1,12},没有^和$,那么abc123def是允许的,因为中心部分123是匹配的。

我认为下面的Regex应该可以满足您的需要

^[1-9]\d{0,11}$

它将接受您所有的正常用例,只是希望用户输入字符串而不带前导0。因此12345将被接受,但不是012345。

谢谢您的回复。我找到了我的答案^[1-11]$@THOMAS你确定吗/^[1-11]$/.test123为false。而且它看起来不像一个合法的regexp。您确实需要使用Regex来确保用户在输入中不提供0吗?因为这使表达式变得复杂。我认为上面的模式不起作用。即使当我输入大于0的值时,它也会显示一条消息,即该值应大于零。现在我正在输入maxlength设置为20的值5。请在中尝试该正则表达式,让我知道它是否突出显示匹配的值?对我来说,输入5并没有高亮显示,表示匹配。