如何使用javascript验证输入字段以仅限制数字并将范围设置为最大值和最小值
我的表单中有一个输入框,我想限制用户只输入0到99999之间的数字。但我不想禁用选项卡按钮功能。下面的代码适用于“仅数字”,但不允许使用Tab按钮。此外,如果有人输入大于99999的数字,它也不会检查溢出情况如何使用javascript验证输入字段以仅限制数字并将范围设置为最大值和最小值,javascript,html,angularjs,forms,validation,Javascript,Html,Angularjs,Forms,Validation,我的表单中有一个输入框,我想限制用户只输入0到99999之间的数字。但我不想禁用选项卡按钮功能。下面的代码适用于“仅数字”,但不允许使用Tab按钮。此外,如果有人输入大于99999的数字,它也不会检查溢出情况 On event change the overflow value must get rejected. 函数myIdFunction(){ var txt=“”; if(document.getElementById(“EmpId”).validity.rangeOverflow)
On event change the overflow value must get rejected.
函数myIdFunction(){
var txt=“”;
if(document.getElementById(“EmpId”).validity.rangeOverflow){
txt=“值太大”;
}
document.getElementById(“demo”).innerHTML=txt;
}
*输入数字(0-)
var specialKeys=新数组();
推(8)//退格
函数为数字(e){
var-keyCode=e.which?e.which:e.keyCode
var ret=((keyCode>=48&&keyCode
由以下人员带给您:
有关规格,请参阅:
有关支持的浏览器,请参阅:
对于较旧的浏览器,请使用:
(用于在当前不支持HTML5的浏览器中实现HTML5
元素的polyfill。)
正确价值观的现场实施
如果您不希望用户在键入时输入不正确的值:
<script>
function myIdFunction() {
var txt = "";
if (document.getElementById("EmpId").validity.rangeOverflow) {
txt = "Value too large";
}
document.getElementById("demo").innerHTML = txt;
}
</script>
<input type="text" name="id" id="EmpId" ng-model="EmpId" max="99999"
onchange="myIdFunction()" onkeypress="return IsNumeric(event);"
ondrop="return false;" onpaste="return false;" ng-disabled="!edit"
placeholder="EmpId" required>
<span id="error" style="color: Red; display: none">* Input digits (0 -)</span>
<script type="text/javascript">
var specialKeys = new Array();
specialKeys.push(8); //Backspace
function IsNumeric(e) {
var keyCode = e.which ? e.which : e.keyCode
var ret = ((keyCode >= 48 && keyCode <= 57) ||
specialKeys.indexOf(keyCode) != -1);
document.getElementById("error").style.display = ret ? "none" : "inline";
return ret;
}
</script>
请参阅:。我建议您将所有js脚本放在一起,这样可以更好地格式化,并为函数提供描述性名称。感谢@adminXVII的建议,但这只是一个试用代码。但有时它无法正常工作。我只想将javascript用于此目的。我想要的输入框类型是,用户的应该不能键入超过限制的内容。但使用此功能,用户可以键入他想要的内容。我也想限制键入内容。@RawCoder查看我的更新答案。我添加了符合您在注释中解释的内容的代码。谢谢您的帮助@rsp。它完全按照我的要求工作。
var last = '';
input.addEventListener('input', function () {
if (this.checkValidity()) {
last = this.value;
} else {
this.value = last;
}
});