Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式-有六个数字,以0、1或2开头_Javascript_Regex_Regex Negation - Fatal编程技术网

Javascript 正则表达式-有六个数字,以0、1或2开头

Javascript 正则表达式-有六个数字,以0、1或2开头,javascript,regex,regex-negation,Javascript,Regex,Regex Negation,我需要一个正则表达式,它将匹配包含六位数字的数字。第一个数字必须是0、1或2 例如-054654或198098或265876 到目前为止,我发现:/^\d{6}$/-匹配一个包含六位数字的数字。如何添加第二个要求:第一个数字必须是0、1或2?您可以使用字符类: /^[012]\d{5}$/ 这告诉正则表达式引擎只匹配几个字符中的一个,在本例中是0、1或2。要创建字符类,请将要匹配的字符放在方括号中。您可以使用字符类: /^[012]\d{5}$/ /^(0|1|2)\d{5}$/ 这告诉

我需要一个正则表达式,它将匹配包含六位数字的数字。第一个数字必须是0、1或2

例如-054654或198098或265876


到目前为止,我发现:
/^\d{6}$/
-匹配一个包含六位数字的数字。如何添加第二个要求:第一个数字必须是0、1或2?

您可以使用字符类:

/^[012]\d{5}$/

这告诉正则表达式引擎只匹配几个字符中的一个,在本例中是
0
1
2
。要创建字符类,请将要匹配的字符放在方括号中。

您可以使用字符类:

/^[012]\d{5}$/
/^(0|1|2)\d{5}$/ 
这告诉正则表达式引擎只匹配几个字符中的一个,在本例中是
0
1
2
。要创建字符类,请将要匹配的字符放在方括号之间

/^(0|1|2)\d{5}$/ 
这个应该管用


那一个应该工作

这应该是你想要的:

/^(0|1|2)[0-9]{5}$/

|
表示

这应该是您想要的:

/^(0|1|2)[0-9]{5}$/

|
表示

,因此您编写的正则表达式/^\d{6}$/只匹配开头和结尾的6位数字。您必须在开头添加(0 | 1 | 2),其中|表示或,最后一个是/^(0 | 1 | 2)\d{5}$/或/^[012]\d{5}$/。

因此您编写的/^\d{6}$/的正则表达式只匹配开头和结尾的6位数字。你必须在开头加上(0 | 1 | 2),其中|表示或,最后是/^(0 | 1 | 2)\d{5}$/或/^[012]\d{5}$/。

读正则表达式教程。懒惰的我得到坏的代表:)读正则表达式教程。懒惰的我得到坏的代表:)我没有投反对票,但你用错了字符类。我将进行编辑。您不了解什么是字符类以及它是如何工作的。我删除了
/g
修饰符,因为需要完整的字符串匹配,它只能匹配一次。我没有否决,但您使用的字符类是错误的。我将进行编辑。您不了解什么是字符类以及它是如何工作的。我删除了
/g
修饰符,因为需要完整的字符串匹配,它只能匹配一次。这同样有效,谢谢!我应该使用哪一个答案?您应该使用
/^[012]\d{5}$/
,因为带有替换的版本(如此答案)涉及更多回溯,因此效率较低。不过,您可以考虑可读性,在这种情况下,您可以使用此答案中的模式。这也很有效,谢谢!我应该使用哪一个答案?您应该使用
/^[012]\d{5}$/
,因为带有替换的版本(如此答案)涉及更多回溯,因此效率较低。但是,您可以考虑可读性,在这种情况下,您可以使用这个答案中的模式。