javascript - 输入类型正则表达式中仅允许数字。问题是我能够输入 this(1.) ,想要阻止它

标签 javascript html regex validation input

我的代码

function validate(e, id) {
  var reg = new RegExp('^\\d+$');
  if (reg.test($("#" + id).val())) {
    var value = $("#" + id).val();
    alert(value);
  } else {
    alert("fail");
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input name="input-type" type="number" id="number-input" oninput="validate(event,'number-input');">

这个接受1。(任何数字后的点)值其余都很好。

最佳答案

您可以尝试使用<input type="tel" ...> 。这样当用户输入 1. 时您将收到1.仅而不1它还会在手机上打开数字键盘。

function validate(e, id) {
  var reg = /^[0-9]*(\.(?=[0-9]+))*[0-9]+$/;
  var value = $("#" + id).val();
  if (reg.test(value)) {
    console.log(value);
  } else {
    console.log("fail");
  }
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input name="input-type" type="tel" id="number-input" oninput="validate(event,'number-input');">

您还可以引用How to get the raw value an <input type="number"> field?欲了解更多信息,请参阅为什么 1.返回1而不是1.

关于javascript - 输入类型正则表达式中仅允许数字。问题是我能够输入 this(1.) ,想要阻止它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42903275/

相关文章:

javascript - 使用字符串的日期对象

javascript - 为什么 FireFox 调试器不显示完整的源代码?

javascript - AngularJs 上传按钮功能

css - 垂直对齐 float 图像旁边的多条线

php - 如何编辑巨大的 SQL 转储?

javascript - 如何在 HTML 和 CSS 中创建一个链接,该链接将使用 html 文件填充 div 或其他元素?

javascript - jQuery、IE 7 对象不支持此属性或方法

html - 从中心展开绝对定位的圆

regex - 删除内容,检索数字,检索用空格代替点的文本,删除其余内容

javascript - Express.js : capture generic routes with numeric Id