<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<script type="text/javascript">
function validate(){
var userName=document.getElementById("userName").value;
var userEmail=document.getElementById("userEmail").value;
var userAge=document.getElementById("userAge").value;
if(userName.length < 4 || userName.length > 16){
alert("请输入大于4个字符小于16的个字符的名字");
return false;
}
if(userEmail.search("^(?:\\w+\\.?)*\\w+@(?:\\w+\\.?)*\\w+$")!=0){
alert("请输入正确的Email格式");
return false;
}
if(isNaN("userAge")="false" && (userAge < 1 || userAge > 150) ){
alert("请输入正确的年龄");
return false;
}
}
</script>
<body></body>
<form action="/" method="post">
姓名:<input type="text" id="userName" /><br />
Email:<input type="text" id="userEmail"  /><br />
年龄:<input type="text" id="userAge"  /><br />
<input type="submit"  onclick="return validate()" />
</form></html>请问我试了好久,为什么年龄还是不能验证啊?isNaN("userAge")="false"  false和true 我都试过了..我错在哪里了啊?

解决方案 »

  1.   

    if(userAge.length==0 || (userAge < 1 || userAge > 150) ){
                alert("请输入正确的年龄");
                return false;
            }
    你是想这样吧?userAge不能为空,且值必须在1~150之间
      

  2.   

    isNaN("userAge")="false" 
    这个写法那是肯定错了的。即使是isNaN("userAge")没错,那后面也应该是"==false"
    if(isNaN(userAge) || (userAge < 1 || userAge > 150) ){
                alert("请输入正确的年龄");
                return false;
    }
      

  3.   

    先谢谢你了。其实我是想先判定一下userAge的值为数字。
      

  4.   

    isNaN(userAge);//只判断userAge是否为数字。也包括了浮点类型的。比如:20.5也算是通过
      

  5.   

    我还是不知道该怎么样用isNaN对userName的值判定  不管怎样谢谢你了
      

  6.   

    //isNaN():判断要检测的值是不是数字以外的类型。如果是则返回true。否则返回false
    var a=123;
    isNaN(a);//即返回false。因为a是数字
    var a='abc'
    isNaN(a);//即返回true,因为a不是数字
      

  7.   

    3Q  一开始是我把 || 写成 && 了  不过谢谢你对isNaN的解释  这回明白多了。