重新格式化数字,例如 1111-2222-3333-4444 从左到右开始
Reformat Numbers like 1111-2222-3333-4444 starting form left to right
我希望此代码在从左开始的 4 位数字之间进行标记和签名,但是此代码在从右到左的 4 位数字之间进行标记。
\B(?=(\d{4})+(?!(\d)))
我想重新格式化数字,如 1111-2222-3333-4444,并在用户键入时实时放置“-”,用户开始键入 4 位数字,当他们键入第 5 位正则表达式时,将正则表达式重新格式化为 1111-2 和 .. . 1111-222 和... 1111-2222-33.
\B(?=(\d{3})+(?!\d))
使用 ,
替换,在 JS 中,此正则表达式会在实时输入中重新格式化数字格式,例如 1,111 和 11,111,111 等等。
我也想这样做,但从左到右。
您可以使用
s = s.replace(/\d{4}(?!$)/g, '$&-')
参见regex demo。
\d{4}(?!$)
匹配不在字符串末尾的四位数字, $&-
替换为匹配值和 -
.
JS 演示:
var strs = ['1111222233334444','111122223333444','11112222333344','1111222233334','111122223333','11111','9999'];
var rx = /\d{4}(?!$)/g;
for (var i=0; i<strs.length;i++) {
console.log(strs[i], '=>', strs[i].replace(rx, '$&-'));
}
我希望此代码在从左开始的 4 位数字之间进行标记和签名,但是此代码在从右到左的 4 位数字之间进行标记。
\B(?=(\d{4})+(?!(\d)))
我想重新格式化数字,如 1111-2222-3333-4444,并在用户键入时实时放置“-”,用户开始键入 4 位数字,当他们键入第 5 位正则表达式时,将正则表达式重新格式化为 1111-2 和 .. . 1111-222 和... 1111-2222-33.
\B(?=(\d{3})+(?!\d))
使用 ,
替换,在 JS 中,此正则表达式会在实时输入中重新格式化数字格式,例如 1,111 和 11,111,111 等等。
我也想这样做,但从左到右。
您可以使用
s = s.replace(/\d{4}(?!$)/g, '$&-')
参见regex demo。
\d{4}(?!$)
匹配不在字符串末尾的四位数字, $&-
替换为匹配值和 -
.
JS 演示:
var strs = ['1111222233334444','111122223333444','11112222333344','1111222233334','111122223333','11111','9999'];
var rx = /\d{4}(?!$)/g;
for (var i=0; i<strs.length;i++) {
console.log(strs[i], '=>', strs[i].replace(rx, '$&-'));
}