I'm using the following function to format numbers as the user types. It will insert a comma every 3 numbers. Ex: 45696.36
becomes 45,696.36
.
However, I've run into a problem with it. If the numbers after the decimal are longer than 3 digits, it starts adding commas to them. Ex: 1136.6696
becomes 1,136.6,696
.
This is my function:
$.fn.digits = function(){
return this.each(function() {
$(this).val( $(this).val().replace(/[^0-9.-]/g, '') );
$(this).val( $(this).val().replace(/(d)(?=(ddd)+(?!d))/g, "$1,") );
})
}
How can I fix this so it stops placing commas after the decimal? I'm using jQuery 1.8. Thanks!
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…