我的代码
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/