how Format price value in inputbox using javascript?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How can I format numbers as money in JavaScript?
号
我在一个网站上工作,它有一个价格输入框。我需要格式化价格值,如下所示。
1 | if a user enter"1000000" it should replace with"1,000,000" is it possible? |
有什么帮助吗?
您需要这样的自定义功能:
1 2 3 4 5 6 7 8 9 10 11 12 | function addCommas(nStr) { nStr += ''; x = nStr.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } return x1 + x2; } |
对《太极拳》的一个小小修改。因为如果用户输入1000000,它将产生1000000。但如果用户使用退格键删除"0",它将不起作用。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | function addPriceFormat() { var numb=''; nStr = document.getElementById('txt').value; my = nStr.split(','); var Len = my.length; for (var i=0; i<Len;i++){numb = numb+my[i];} x = numb.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) { x1 = x1.replace(rgx, '$1' + ',' + '$2'); } formated = x1 + x2; document.getElementById('txt').value = formated; } |
您可以执行以下操作:
1 2 3 4 | function numberWithCommas(n) { var parts=n.toString().split("."); return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g,",") + (parts[1] ?"." + parts[1] :""); } |
号
演示:http://jsfiddle.net/e9aek/