Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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 长度为x或y的字母数字字符串的正则表达式是什么?_Javascript_Regex - Fatal编程技术网

Javascript 长度为x或y的字母数字字符串的正则表达式是什么?

Javascript 长度为x或y的字母数字字符串的正则表达式是什么?,javascript,regex,Javascript,Regex,我所遇到的一切,要么是为了匹配一个固定长度,要么是为了处于两个不同长度之间 例如,这将匹配长度在15到18之间的所有字母数字字符串: /^([a-zA-Z0-9]){15,18}$/ 然而,我想找出一种方法,将其与15或18的长度相匹配 这是我想象中的样子,但语法不正确: /^([a-zA-Z0-9]){15|18}$/ 理想情况下,我希望尽可能避免重复([a-zA-Z0-9])部分,以保持清洁。我正在使用JavaScript,如果这在这里有所不同的话 /^([a-zA-Z0-9]{15}|

我所遇到的一切,要么是为了匹配一个固定长度,要么是为了处于两个不同长度之间

例如,这将匹配长度在15到18之间的所有字母数字字符串:

/^([a-zA-Z0-9]){15,18}$/
然而,我想找出一种方法,将其与15或18的长度相匹配

这是我想象中的样子,但语法不正确:

/^([a-zA-Z0-9]){15|18}$/
理想情况下,我希望尽可能避免重复
([a-zA-Z0-9])
部分,以保持清洁。我正在使用JavaScript,如果这在这里有所不同的话

/^([a-zA-Z0-9]{15}|[a-zA-Z0-9]{18})$/
还可以使用不区分大小写的正则表达式

/^([a-z0-9]{15}|[a-z0-9]{18})$/i

谢谢@ic3b3rg,看起来我必须重复字母数字匹配部分。不是世界末日!