javascript在两个不同的索引处分割字符串

2024-04-22

我有一张 amex I.E. 信用卡 #371449635398431我想分成三部分3714 496353 98431- 是否有一种简单的方法可以通过预定义索引(在本例中为 4 和 10)分割字符串,可能使用简单的正则表达式函数?


我真的不认为这里需要正则表达式。如果您知道需要拆分的索引,您可以这样做:

var input = '371449635398431'
var part1 = input.substr(0, 4);
var part2 = input.substr(4, 6);
var part3 = input.substr(10);

但如果正则表达式是必须的,你可以这样做:

var input = '371449635398431'
var match = /^(\d{4})(\d{6})(\d{5})$/.exec(input);
var part1 = match[1];
var part2 = match[2];
var part3 = match[3];

要在每个部分之间插入空格,您可以执行以下操作:

var match = input.substr(0, 4) + ' ' + input.substr(4, 6) + ' ' + input.substr(10);

Or this:

var match = [ input.substr(0, 4), input.substr(4, 6), input.substr(10) ].join(' ');

或者这个(灵感来自阿伦·P·约翰尼的回答 https://stackoverflow.com/a/17758531/1715579):

var match = /^(\d{4})(\d{6})(\d{5})$/.exec(input).slice(1).join(' ');

Or this:

var match = input.replace(/^(\d{4})(\d{6})(\d{5})$/, '$1 $2 $3');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

javascript在两个不同的索引处分割字符串 的相关文章