只允许1个逗号和2个小数

时间:2017-03-07 10:36:21

标签: javascript jquery

嘿伙计我有一个代码,允许我只有数字退格的东西 如何更改允许按“enter”并且只允许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 }
})

1 个答案:

答案 0 :(得分:3)

这里有点冗长的版本。这接受箭头键,制表符,输入,修饰符等。



$("[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
  }
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input name="price" />
<input name="price" />
<input name="price" />
&#13;
&#13;
&#13;