进入文本字段时如何传递逗号

时间:2016-05-27 11:58:26

标签: javascript jquery validation

我们正在使用Jquery mobile开发Worklight Hybrid移动应用程序。

我想在数字文本字段中输入数字时传递逗号。文本字段maxlength 9.

我希望控件显示类似 5,652,895 的值。

请有人能告诉我哪里缺少逻辑吗?

enter image description here



$(document).on('keyup', '.value', function() {
    if(event.which >= 37 && event.which <= 40) return;
    $(this).val(function(index, value) {
      return value
      .replace(/\D/g, "")
      .replace(/\B(?=(\d{3})+(?!\d))/g, ",")
      ;
    });
});
&#13;
<input onKeyDown="if(this.value.length==9 && event.keyCode != 8)return false;"  id="txtVehicleValue" placeholder="Vehicle Value"  name="vehicleValue" class="value">
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

试试这个:

<input class="number" onkeyup="addComma(this);">

Jquery的:

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

答案 1 :(得分:0)

此问题的解决方案

    Data Type   Precision   Scale
0   decimal 18  4
1   number  11  0
2   date        
3   decimal 18  4
4   decimal 18  4
5   number  4   0
$(document).on('keyup', '.number', function() {
    if(event.which >= 37 && event.which <= 40) return;
    $(this).val(function(index, value) {
      return value
      .replace(/\D/g, "")
      .replace(/\B(?=(\d{3})+(?!\d))/g, ",")
      ;
    });
});