Javascript 用逗号和点格式化数字
Javascript Formatting Numbers With Commas and Dot
我想创建一个javascript代码来格式化我的输入数字。例如,当用户键入 : 100000 时,它将自动转换为 100,000,如果用户键入 1000.22,它将产生 1,000.22。我创建了这样的代码:
$(document).ready(function(){
$('input.angka').on("keyup click", function(event){
// skip for arrow keys
if(event.which >= 37 && event.which <= 40){
event.preventDefault();
}
var $this = $(this);
var num = $this.val().replace(/,/gi, "").split("").reverse().join("");
var num2 = RemoveRougeChar(num.replace(/(.{3})/g,"$1,").split("").reverse().join(""));
// the following line has been simplified. Revision history contains original.
$this.val(num2);
});
});
function RemoveRougeChar(convertString){
if(convertString.substring(0,1) == ","){
return convertString.substring(1, convertString.length)
}
return convertString;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="text" class="angka form-control" name="hargak" onkeyup="tots();" />
因此,我所有具有"angka"类的输入文本框都将被转换。如果我输入它而不带小数(10000、20000 等),它可以工作。但是当我使用十进制时,这些代码出错了(1000.22 将导致 1,000,.22)任何人都可以修复此代码?
一种可能性...您还应该接受使用左右箭头导航...
$(document).ready(function(){
$('input.angka').on("keyup click", function(event){
// skip for arrow keys
if(event.which >= 37 && event.which <= 40){
event.preventDefault();
}
var $this = $(this);
var num = $this.val();
var decs = num.split(".");
num = decs[0];
num = num.replace(/,/gi, "").split("").reverse().join("");
var num2 = RemoveRogueChar(num.replace(/(.{3})/g,"$1,").split("").reverse().join(""));
if(decs.length > 1) {
num2 += '.' + decs[1];
}
$this.val(num2);
});
});
function RemoveRogueChar(convertString){
if(convertString.substring(0,1) == ","){
return convertString.substring(1, convertString.length)
}
return convertString;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="text" class="angka form-control" name="hargak" onkeyup="tots();" />
相关文章:
- 使用纯javascript格式化数字
- 用javascript格式化数字,而不进行更改
- Java脚本插件,用于将数字转换为特定于区域性的货币格式,并将具有特定货币格式的非格式化数字转换为普通数字
- jQuery(或Javascript)基于给定的C#/VBA/Java格式字符串格式化数字的方法
- 格式化数字,如22,55,86,21,28
- Javascript-格式化数字,始终显示原始的小数位数
- 使用 javascript 格式化数字
- Chrome告诉“Invaild Group”使用正则表达式来格式化数字
- 在 javascript 中用指数格式化数字
- 使用 jquery 编号格式化程序格式化数字并重新格式化它们
- Javascript - 用正则表达式替换字符串以格式化数字
- 如何使用 jQuery 格式化数字
- 剑道在网格中格式化数字
- 在谷歌脚本中格式化数字
- Javascript 用逗号和点格式化数字
- 如何以特定方式格式化数字
- 在 JavaScript 中格式化数字
- 在Dojo中格式化数字
- 通过ExtJS或javascript格式化数字
- 用撇号作为千位分隔符格式化数字