[英]Javascript/Jquery: validate input with a number range
我想在预先配置的数字范围内验证输入字段。 仅允许从1到24的数字。
我能怎么做?
使用这样的自定义解决方案:
$('.field').keypress(function(event) {
var val = parseInt($(this).val()) + HERE_I_SHOULD_SUM_THE_NEWLY_ADDED_DIGIT;
if(val < 1 || val > 24) event.preventDefault();
});
我能够检索当前的输入值。 如何添加新添加的数字?
这样的事怎么样?
$("input").on("change", function() {
var val = Math.abs(parseInt(this.value, 10) || 1);
this.value = val > 25 ? 24 : val;
});
演示: http : //jsfiddle.net/3jw4S/
现代浏览器中有输入的内置功能:
可在此处找到全面的概述: http : //www.the-art-of-web.com/html/html5-form-validation/
基本上,你可以写:
<input type="number" min="1" max="24" step="1" required>
使用模式,您可以定义要测试的正则表达式:
pattern="\d[0-3]"
有一个JQuery插件可以帮助您进行名为Valid8的验证:
http://unwrongest.com/projects/valid8/
您需要使用正则表达式,例如:
^([1-9]|[1]?[1-9]?|[2][0-4]|10)$
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x <1|| x >24)
{
alert("Value must be between 1 & 24");
return false;
}
}
这些方面的东西应该有效
尝试这个
function validate() {
var x = parseInt(value,10) // its the value from the input box;
if(isNaN(x)||x<1||x>24)
{
alert("Value must be between 1 and 24");
return false;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.