Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 将正则表达式转换为简单数组_Javascript_Arrays_Regex - Fatal编程技术网

Javascript 将正则表达式转换为简单数组

Javascript 将正则表达式转换为简单数组,javascript,arrays,regex,Javascript,Arrays,Regex,我有一个javascript正则表达式,如下所示: var regex = /(\d{2,3})(\D{1,2})(\d{1,8})/; 它应该以2或3位数字显示第一部分,然后是1到2个非数字字符,然后是1到8位数字 要形成这样的形状:45ER12345 我的问题是如何将它转换成一个带有变量的数组(一个长数组,没有复杂(\d{2.3})的东西,这对初学者是有好处的。) 这是我写的。这是两个输入框,用户在其中输入自己的姓名和汽车注册号。结果应该像第一个示例中所示那样解析car reg,并将其显示

我有一个javascript正则表达式,如下所示:

var regex = /(\d{2,3})(\D{1,2})(\d{1,8})/;
它应该以2或3位数字显示第一部分,然后是1到2个非数字字符,然后是1到8位数字 要形成这样的形状:
45ER12345

我的问题是如何将它转换成一个带有变量的数组(一个长数组,没有复杂(\d{2.3})的东西,这对初学者是有好处的。)

这是我写的。这是两个输入框,用户在其中输入自己的姓名和汽车注册号。结果应该像第一个示例中所示那样解析car reg,并将其显示在一个框中


我一直在使用的正则表达式完全符合我的要求,但我只想将其转换为一个更简单的数组,而不需要初学者不会使用的所有复杂符号。

您的正则表达式似乎很好,您只是在寻找
字符串匹配(regex)


你试过什么?你能给出最后一个数组的例子吗?您可以创建自己的解析器并使用类似以下格式:
[{type:'digit',minLength:2,maxLength:3},{type:'non digit',minLength:1,maxLength:2},{type:'digit',minLength:1,maxLength:8}]
?请注意,此数组中的第一项是完全匹配的文本。您的组将从索引1开始。
    var regex = /(\d{2,3})(\D{1,2})(\d{1,8})/;
    var stringBits = regex.exec(form.cname.value);
    //This ties the variables to the text below that will appear in an alert box
    alert("Hello " + form.fname.value + ". Your car's year is " + stringBits[1] + " and your county is " + stringBits[2] + " the car number is " + stringBits[3] );
    return true; // Form is good / processing successfully complete
}
var regex = /(\d{2,3})(\D{1,2})(\d{1,8})/;
var s = '45ER12345';
var m = s.match(regex);
//=> ["45ER12345", "45", "ER", "12345"]