Greetz大家。 今天我试图为我的项目做一件事,我试图在js中做这样的事情(例如.xxxx-xxxx-xxxx-xxxx)。我见过很多人在没有得到任何好的回应的情况下做了同样的问题。
无论如何,任何人都可以帮助我? TY。
答案 0 :(得分:1)
这是使用正则表达式的快速1班轮
console.log(
'98347592857390342876592180754234'.replace(/([0-9]{4})/g,'$1-').replace(/-$/,'')
);
输出9834-7592-8573-9034-2876-5921-8075-4234
答案 1 :(得分:0)
我亲自制作了这个小脚本,以便运行与此类似的东西。
//Whatever your string is.
var val = "2323180012421232";
//loop through string and splice in -'s.
for(var b = val.length-4; b > 0; b-=4) {
//Slice string starting from 0 to b increment, add the "-" then add all other letters that come after b.
val = val.slice(0, b) + "-" + val.slice(b);
}
//Post the output.
console.log(val);
JSFiddle:https://jsfiddle.net/3t8febmj/
如果您希望以功能形式使用此功能,可以执行以下操作:
function insertCharacters(str) {
for(var b = str.length-4; b > 0; b-=4) {
str = str.slice(0, b)+"-"+str.slice(b);
}
return str;
};
var val = insertCharacters("2323180012421232");
console.log(val);
JSFiddle:https://jsfiddle.net/vjkde7hh/
答案 2 :(得分:0)
纯粹且易于理解的JS方法:
function chunk(str, n) {
var ret = [];
for(var i = 0, len = str.length; i < len; i += n) {
ret.push(str.substr(i, n))
}
return ret;
};
console.log(chunk("123145647897", 4).join('-'));
正则表达式方法:
var formated = "123145647897".replace(/(.{4})/g,"$1-").replace(/-$/, "");
console.log(formated);