在文本字段中添加逗号以显示值

时间:2017-09-28 04:47:01

标签: javascript

我有一个像这样的文本字段

文字字段

enter image description here

数据是从数据库中获取的,现在我想每3位数添加一个逗号,我想用jquery解决它,是可能的

3 个答案:

答案 0 :(得分:7)

解决方案1:您只需使用Number.toLocaleString()

即可

var number = 1557564534;
document.body.innerHTML = number.toLocaleString();

解决方案2:您可以使用正则表达式创建简单的jquery插件

$.fn.digits = function() {
  return this.each(function() {
    $(this).text($(this).text().replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1,"));
  })
}

$("span").digits();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<span id="numbers">3456754323456432</span>

答案 1 :(得分:1)

这是jsfiddle,您可以在键入时进行内联格式化。 https://jsfiddle.net/wm61qzsm/

js code:

$('input.number').keyup(function(event) {

  // skip for arrow keys
  if(event.which >= 37 && event.which <= 40) return;

  // format number
  $(this).val(function(index, value) {
    return value
    .replace(/\D/g, "")
    .replace(/\B(?=(\d{3})+(?!\d))/g, ",")
    ;
  });
});

答案 2 :(得分:0)

您可以将输入解析为float并使用number.toLocalString();

&#13;
&#13;
var data = $("#getInfo");
var dataParse = parseFloat(data.val());

dataParse = dataParse.toLocaleString();

$("#getInfoNew").val(dataParse);
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
BEFORE<input type="text" id="getInfo" value="14000000,0"><br>
AFTER<input type="text" id="getInfoNew" value="">
&#13;
&#13;
&#13;