每3-4个字符插入一个空格

时间:2018-10-02 13:18:47

标签: javascript

我有这个:

1231231234

我希望每3-4个字符插入一个空格,因此其格式如下:

123 123 1234

使用正则表达式可能吗?我有一些东西每3个字符就会输入一个空格,但是我不确定如何混合使用3个字符和4个字符来获得上述格式。

value.replace(/\B(?=(\d{3})+(?!\d))/g, " ");

3 个答案:

答案 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+$)/,'')