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

pan*_*hro 2 javascript

我有这个:

1231231234
Run Code Online (Sandbox Code Playgroud)

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

123 123 1234

这可以用正则表达式吗?我有每 3 个字符输入一个空格的内容,但我不确定如何混合 3 个和 4 个字符来获得上述格式。

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

Nin*_*olz 5

您可以使用带有前瞻功能的正则表达式。

正向先行查找等号后的模式,但不将其包含在匹配中。

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));
Run Code Online (Sandbox Code Playgroud)