两个数字之间的Javascript表单验证

两个数字之间的Javascript表单验证,javascript,forms,validation,Javascript,Forms,Validation,我需要一个表单字段,如果输入了21岁以下和35岁以上的数字,就会弹出一个窗口,告诉他们输入21到35之间的数字 首先我看到了这个,它不能解决我的需求: 我有以下几条,但它不起作用,你知道为什么吗 <!DOCTYPE html> <html> <head> <script> function validateForm() { var x = document.forms["daysCalc"]["days"].value; if (x>=21

我需要一个表单字段,如果输入了21岁以下和35岁以上的数字,就会弹出一个窗口,告诉他们输入21到35之间的数字

首先我看到了这个,它不能解决我的需求:

我有以下几条,但它不起作用,你知道为什么吗

<!DOCTYPE html>
<html>
<head>
<script>
function validateForm() {
var x = document.forms["daysCalc"]["days"].value;
if (x>=21 && x<=35) {
    alert("Number must be between 21 and 35");
    return false;
}
}
</script>
</head>

<body>
<form name="daysCalc" action="" onsubmit="return validateForm()" method="post">
Days: <input type="text" name="days">
<input type="submit" value="Submit">
</form>
</body>

</html>

函数validateForm(){
var x=document.forms[“daysCalc”][“days”].value;

如果(x>=21&&x当用户输入的数字在给定范围内而不是在给定范围外时,您实际发送的是错误消息

试试这个:

function validateForm() {
    var x = document.forms["daysCalc"]["days"].value;
    if (x < 21 || x > 35) {
        alert("Number must be between 21 and 35");
        return false;
    }
}
函数validateForm(){
var x=document.forms[“daysCalc”][“days”].value;
如果(x<21 | x>35){
警报(“编号必须介于21和35之间”);
返回false;
}
}

函数validateForm(){
var x=document.forms[“daysCalc”][“days”].value;
如果(x=36){
警报(“编号必须介于21和35之间”);
返回false;
}
}
天:

因为您的逻辑完全是错误的。当数字介于21和35之间时,您显示了错误消息并返回false。真不敢相信我这么做了!一定是太早了:|感谢您发现它!
    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.min.js"></script>

    <!DOCTYPE html>
    <html>
    <head>
    <script>
    function validateForm() {
    var x = document.forms["daysCalc"]["days"].value;
    if (x<=20 || x>=36) {
        alert("Number must be between 21 and 35");
        return false;

}
}
</script>
</head>

<body>
<form name="daysCalc" action="" onsubmit="return validateForm()" method="post">
Days: <input type="text" name="days">
<input type="submit" value="Submit">
</form>
</body>

</html>