我有这个:
1231231234
我希望每3-4个字符插入一个空格,因此其格式如下:
123 123 1234
使用正则表达式可能吗?我有一些东西每3个字符就会输入一个空格,但是我不确定如何混合使用3个字符和4个字符来获得上述格式。
value.replace(/\B(?=(\d{3})+(?!\d))/g, " ");
答案 0 :(得分:4)
您可以使用带正则表达式的正则表达式。
Positive Lookahead在等号后寻找模式,但不将其包括在比赛中。
function format(s) {
return s.toString().replace(/\d{3,4}?(?=...)/g, '$& ');
}
console.log(format(1234567890));
console.log(format(123456789));
console.log(format(1234567));
console.log(format(123456));
console.log(format(1234));
console.log(format(123));
答案 1 :(得分:0)
value = "1231231234";
console.log(value.replace(/^(.{3})(.{3})(.*)$/, "$1 $2 $3"));
答案 2 :(得分:-1)
// add spaces after every 4 digits (make sure there's no trailing whitespace)
somestring.replace(/(\d{4})/g, '$1 ').replace(/(^\s+|\s+$)/,'')