通过Regex拆分JS字符串?

时间:2013-03-21 09:40:56

标签: javascript regex

我有MMYY模式(信用卡到期)

我需要分析每个部分(01和14):所以我尝试了:

'0114'.split(/\d{2}/i) //  ["", "", ""]

它实际上看到2位数作为分隔符,因此我什么都没得到。

然而,我已经设法做到了:

'0114'.match(/\d{2}/ig) //["01", "14"]

但我想知道split

我可以使用split 吗?

3 个答案:

答案 0 :(得分:9)

例如:

"1234".split(/(?=..$)/) => ["12", "34"]

对于任意长度的字符串的通用解决方案似乎是不可能的,我们可以得到的最好的是:

str.split(str.length & 1 ? /(?=(?:..)*.$)/ : /(?=(?:..)+$)/)

答案 1 :(得分:3)

这应该这样做:

   '0114'.split(/(?=..$)/)

答案 2 :(得分:0)

没有理由使用正则表达式 - 我只是使用子字符串:

var str = '0114';
var month = str.substr(0, 2);
var year = str.substr(2, 2);
console.log(month, year); // 01 14