长度为2的数组的字符串可以像下面这样完成。
let str1 = '112213';
let str1Array = str1.match(/.{2}/g);
console.log(str1Array);
结果是
[ '11', '22', '13' ]
是否可以获得[' 1',' 12',' 2' ,' 13']同样?
答案 0 :(得分:5)
您可以使用split()
代替match()
在一个正则表达式中提供两种长度:
(.)(..)?
当字符串长度不均匀时,可选的量词是必不可少的。
JS代码:
console.log(
'112213'.split(/(.)(..)?/).filter(Boolean)
);

答案 1 :(得分:1)
function myFunction() {
var text = document.getElementById("input").value;
console.clear()
var re = /(.)(.{2})/g;
var m;
var arr = [];
do {
m = re.exec(text);
if (m) {
arr.push(m[1], m[2]);
}
} while (m);
console.log(arr)
}

<form action="javascript:myFunction()">
<input id="input" type="text" value="112213"><br><br>
<input type="submit" value="Submit">
</form>
&#13;