javascript - 为输入类型添加验证,因此不允许用户输入除具有最小值和最大值的数字以外的任何内容
问题描述
我现在正在尝试在 HTML 中执行此操作,我有一个输入字段type=number
,我不希望用户能够输入十进制值/特殊字符/字母。我也想要min=30
andmax=300
所以如果用户键入29
并单击 else where ,该字段中的值应该更改为min
which is 30
。如果用户输入的值大于300
并在其他地方单击,那么我希望将该值更改为300
最大值。我不想等待用户等待他们点击表单按钮。这是我到目前为止所拥有的,错误在于,用户仍然可以输入小数,并输入任何低于 30 的值。对 html/js 来说非常新。如果您认为这更容易,请随时帮助我实现 js。
<input type="number" min="30" max="300" step="1" oninput="validity.valid||(value=value.replace(/\D+/g, ''))" id="seconds" name="seconds" value="30">
解决方案
<html>
<script>
function change(){
var inp = document.getElementById("box").value;
inp = Math.floor(inp);
if(inp<30){
document.getElementById("box").value = 30;
}
else if(inp>300){
document.getElementById("box").value = 300;
}
else {
document.getElementById("box").value = inp;
}
}
</script>
<身体>
<input type= "number" onmouseout = "change()" id ="box"/>
</正文>
</HTML>
这个java脚本应该使用“ onmouseout ”。
推荐阅读
- rstudio - 相当于降价演示中的“高度动态”外观
- c++ - 如何使用 SDL2 修复“不支持 GLSL 3.30”错误
- excel - 是否可以获得单元格的“属性”
- python - 使用列表中保存的值从子目录名称中删除子字符串
- java - 应用在setter方法上的@Resource注解在使用getter方法获取值时返回空指针异常
- hyperledger-fabric - 通用连接配置文件缺少此客户的组织和证书颁发机构
- java - java.lang.String类型的value数据无法转成JSONObject@java android
- r - R studio - 我需要使用混淆矩阵的灵敏度和特异性以及阳性和阴性预测值的置信区间
- c# - Asp.net WebService 无法将“System.Int32”类型的对象转换为 ty...neric.IDictionary`2[System.String,System.Object]'
- sql - 两个表,逐段匹配记录(分组依据)不匹配的为空