我正在使用正则表达式来格式化文本字段中的数字,我已经实现了在每3个数字之后插入逗号的功能,如下所示
我正在使用以下功能来实现这一目标。
function Comma(Num) { //function to add commas to textboxes
Num += '';
Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
Num = Num.replace(',', ''); Num = Num.replace(',', ''); Num = Num.replace(',', '');
x = Num.split('.');
console.log(x);
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
console.log(x1);
console.log(x2);
var rgx = /(\d+)(\d{2})/;
while (rgx.test(x1))
x1 = x1.replace(rgx, '$1' + ',' + '$2');
console.log("x1: "+x1);
return x1 + x2;
}
<input maxlength="" class="form-control preco number" name="preco[]" onkeyup = "javascript:this.value=Comma(this.value);" required>
我想要实现的是以下格式
你能指导我如何使用正则表达式实现这种格式吗?
答案 0 :(得分:0)
试试这个
^-?\d{1,3}(,\d{3})*(\.\d\d)?$|^\.\d\d$
结果
1
12
.99
12.34
-18.34
12,345.67
999,999,999,999,999.99