【问题标题】:Disable input dot '.' javascript [duplicate]禁用输入点“。” javascript [重复]
【发布时间】:2020-02-27 15:47:12
【问题描述】:

我正在尝试禁用用户输入点.。这是我目前尝试的方法

$('#num').on('input', function (event) { 
    this.value = this.value.replace(/^[0-9]+\.?[0-9]*$//./, '');
});

使用上面的脚本,我仍然可以输入点.。有没有办法阻止用户输入点.

提前致谢,抱歉我的英语不好。

【问题讨论】:

标签: javascript jquery regex


【解决方案1】:

检查keydown 事件上的keyCode,如果它是190(句点键),则执行preventDefault。使用“运行代码 sn-p”在下面进行测试。

$('#num').keydown(function(e) {
  if (e.keyCode === 190 || e.keyCode === 110) {
    e.preventDefault();
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="num">

【讨论】:

  • 190 是什么?
  • 是句号键的数字keyCode值。在此处阅读有关 keyCodes 的更多信息:css-tricks.com/snippets/javascript/javascript-keycodes
  • 迟到总比永不好,但如果您使用小键盘上的句点键,这将不起作用。
  • @Metalmini 看起来这可能是键码列表上的“小数点”。相反,你可以写if (e.keyCode === 190 || e.keyCode == 110)
  • 你也可以用javascript给出这个吗?它的世界会很有帮助。
猜你喜欢
  • 2017-05-19
  • 1970-01-01
  • 2012-11-04
  • 2011-11-24
  • 2016-03-20
  • 2015-12-24
  • 2018-05-22
相关资源
最近更新 更多