Javascript 从字符串中获取拆分的数字和字符串

Javascript 从字符串中获取拆分的数字和字符串,javascript,regex,Javascript,Regex,我有一个字符串数组,如下所示: var array =[]; array.push("Complex12"); array.push("NumberCar1"); array.push("Protect5"); 我想拆分每个项目的字符串和编号 var Id = parseInt(array[0].match(/\d/g)); var type = array[0].replace(/\d+/g, ''); 但我只得到Id=1(我想要12)和type=“Complex”,我错在哪里

我有一个字符串数组,如下所示:

var array =[];
array.push("Complex12");
array.push("NumberCar1");
array.push("Protect5");
我想拆分每个项目的字符串和编号

   var Id = parseInt(array[0].match(/\d/g));
   var type = array[0].replace(/\d+/g, '');
但我只得到Id=1(我想要12)和type=“Complex”,我错在哪里?
谢谢

我想你刚刚错过了第一个regexp中的
+

var Id = parseInt(array[0].match(/\d+/g));

使用捕获组以一种模式执行此操作:

var mystr = "Complex12";

if (m = mystr.match(/^([a-z]+)([0-9]+)$/i)) {
    var type = m[1];
    var id = m[2];
}