【问题标题】:Disable only .(DOT) special charecter in input field仅禁用输入字段中的 .(DOT) 特殊字符
【发布时间】:2015-09-13 08:38:45
【问题描述】:

我不想让用户进入。 (点)在我的输入字段中。其余所需的验证已经完成。

function isNumberKey(evt) {
  var charCode = (evt.which) ? evt.which : event.keyCode;
  if (charCode != 46 && charCode > 31 && (charCode < 48 || charCode > 57))
    return false;

  return true;
}
&lt;input type="text" class="form-control" name="ContactNumber" maxlength="10" value="" id="ContactNumber" title="Enter Number Here" onkeypress="return isNumberKey(event)" required&gt;

【问题讨论】:

  • 我得到了答案,我只需要删除 keyEntry ==46

标签: javascript jquery html-input


【解决方案1】:

在 jQuery 中:

jQuery.validator.addMethod("someRule", function(string, element) { 
    return !string.match(/\./g);
}, "Your username contains a dot!");

在 HTML 中使用 pattern 属性:

pattern="[^.]"

【讨论】:

  • 我没有看到 TO 已经在使用验证插件的任何提示。并且并非所有浏览器都支持pattern 属性 -> caniuse.com/#feat=input-pattern
  • 我也打算写一个普通的 JS 解决方案。但是已经给了
  • 在您的代码中写入` (keyEntry != '46')` 而不是` (keyEntry == '46')`
【解决方案2】:

$("#name").on("keypress", function(evt) {
  var keycode = evt.charCode || evt.keyCode;
  if (keycode == 46) {
    return false;
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="name" />

这里的工作示例:jsfiddle

【讨论】:

  • 好的,您的代码中的条件语句似乎不正确,我在这里尝试过您的验证。看到这个 Jsfiddle(jsfiddle.net/pratikgaloria/hgnusen0)
  • 我们现在要放弃对移动设备的测试吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 2018-11-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多