javascript – 仅允许1个逗号和2个小数

嘿家伙我有一个代码,允许我只有数字退格的东西
如何更改允许按“输入”的正则表达式,并且只允许1个逗号和逗号最多2个数字后?

$("[name=price]").keydown(function(e){
    if(e.keyCode == 110 || e.keyCode == 190)
    {
        e.preventDefault();
        $(this).val($(this).val() + ',');
    }
    if (/\d|,+|[b]+|-+/i.test(e.key) ){

      }else{return false }
})
最佳答案
这里有点冗长的版本.这接受箭头键,标签,输入,修饰符等.

$("[name=price]").keydown(function(e) {
  if (e.keyCode == 110 || e.keyCode == 190 || e.keyCode == 188) {
    if ($(this).val().indexOf(',') > -1) {
      return false;
    } else {

      e.preventDefault();
      $(this).val($(this).val() + ',');
    }
  }
  else if (e.keyCode < 47) {
  
  }
  else if (/\d|,+|-+/i.test(e.key)) {
    if ($(this).val().indexOf(',') > -1) {
      if ($(this).val().substr($(this).val().indexOf(',') + 1).length >= 2) {
        return false;
      }
    }

  } else {
    return false
  }
})