首页 > 解决方案 > 如何将 Js 中的函数从逗号更改为点

问题描述

我在 JS 中有函数,可以很好地使用逗号。我需要使它与点一起工作(即带点的数字,而不是逗号)。我怎样才能改变它?替换indexOf(',')indexOf('.')对我没有帮助。

$(".isInputNumber").on("keypress keyup blur", function(event) {
  var $this = $(this);
  if ((event.which != 44 || $this.val().indexOf(',') != -1) 
    && ((event.which < 48 || event.which > 57) 
    && (event.which != 0 && event.which != 8))) {
    event.preventDefault();
  }

  var text = $(this).val();
  if ((event.which == 44) && (text.indexOf(',') == -1)) {
    setTimeout(function() {
      if ($this.val().substring($this.val().indexOf(',')).length > 3) {
        $this.val($this.val().substring(0, $this.val().indexOf(',') + 3));
      }
    }, 1);
  }

  if ((text.indexOf(',') != -1) 
    && (text.substring(text.indexOf(',')).length > 2) 
    && (event.which != 0 && event.which != 8) 
    && ($(this)[0].selectionStart >= text.length - 2)) {
    event.preventDefault();
  }
});

标签: javascriptjquery

解决方案


event.which属性表示按下的特定键或按钮(44 代码表示逗号)。您应该根据ASCII将该值更改为点代码(即 46)


推荐阅读