javascript - 后面只允许有 1 个逗号和 2 个小数

标签 javascript jquery

我有一个代码可以让我耦合诸如仅数字退格键之类的东西。我如何更改允许按“输入”并仅允许 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
  }
})
<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" />

关于javascript - 后面只允许有 1 个逗号和 2 个小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42645969/

相关文章:

javascript - 通过jquery提交(smarty)

javascript - 我不明白以下javascript

javascript - 如何将选中的项目设置为 React 状态数组

javascript - 如何实现代码按钮来格式化文本区域中的文本?

javascript - jquery中如何获取节点元素的索引

jquery - 在所有浏览器的 html 页面上,让一张图片与另一张图片重叠的最佳方式是什么

javascript - 使用 jQuery 在主 div 中重新排列 div

javascript - 在 Select Multiple Jquery 中获取禁用选项的值

javascript - 将 Controller 与指令分开?

javascript - PHP 只读取动态创建的输入数组的第一个值