var dns_name=document.form1.dns_name;
错了,差一个.value
var dns_name=document.form1.dns_name.value; 这样才是得它的值,你写的只是得它的对象,肯定会错了:)

解决方案 »

  1.   

    谢谢,后来我也发现了
    为什么
     if (  dns_name.indexOf("\") > -1)
    他会提示未结束的字符串

    if (  dns_name.indexOf("/") > -1)  *  % 等符号都可以 ,而且发现一一列出很麻烦
    好象有什么正则表达式检验的,我只要是数字或者字母就行
      

  2.   

    \"是转意字符
    \" 实际等于 ",所以为结束。
    应该改为:dns_name.indexOf("\\") > -1)
    就OK啦 !
      

  3.   

    \ 是转义符,用在那不行,还是用正则好,这有个例子你看看
    <body bgcolor="#FFFFFF">
    <script language="JavaScript">
    <!--
    function Juge()
    {
    var rw1 = document.form1.rw1.value;
    if(rw1.replace(/(^\s*)|(\s*$)/g,"") == "")
    {
       alert("rw1不能为空");
       document.form1.rw1.select();
       return false;
    }var rw2 = document.form1.rw2.value;
    var patrnE=/^[a-zA-Z]*$/
    if (!patrnE.exec(rw2)) 
    {
      alert("rw2只能输入英文!");
      document.form1.rw2.select();
      return false
    }var rw3 = document.form1.rw3.value;
    var patrnN=/^[0-9]*$/
    if (!patrnN.exec(rw3)) 
    {
      alert("rw3只能输入数字!");
      document.form1.rw3.select();
      return false
    }var rw5 = document.form1.rw5.value;
    var patrnE=/^[^\sa-zA-Z1-9_~`!@#%&=;:\/\$\(\)\{\}<>\|\"\'\^\*\-\+\?]*$/
    if (!patrnE.exec(rw5)) 
    {
      alert("rw5只能输入中文!");
      document.form1.rw5.select();
      return false
    }//阿信的代码
    var obj = document.form1.rw4   //用于检查日期输入是否正确 (日期输入范围为1930-01-01 到2200-12-31)
    if (obj.value.length==0) return false;
    var objValue=obj.value.replace(/[-\.]/g,"/");

    try
    {
    var a=new Date(objValue);
    if (isNaN(a))
    {
    obj.value="";
    alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进处了清除。");
    obj.focus();
    return false;
    }
    var b;
    if (a.getFullYear()<1900||a.getFullYear()>2200)
    {var Today=new Date();
    b=Today.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate();
    }
    else if (a.getFullYear()<1930)
    b=(a.getFullYear()+100)+"-"+(a.getMonth()+1)+"-"+a.getDate();
    else b=a.getFullYear()+"-"+(a.getMonth()+1)+"-"+a.getDate();
    obj.value=obj.value.replace(/[-\.\/]0*/g,"-");
    if (b!=obj.value)
    {
    obj.value=b;
    alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进行了修改。");
    obj.select();
    obj.focus();
    return false;
    }
    }
    catch(Exception)
    {
    obj.value="";
    alert("!!!!请注意:\n您刚才输入的日期不正确,我们已进处了清除。");
    obj.focus();
    return false;
    }
    }-->
    </script><FORM action="chuli_get.asp"  method=post name=form1 onsubmit="javascript:return Juge(this);" align="center">
    不能为空:<input size=50 type="text" name=rw1><br>
    只能输入英文:<input size=50 type="text" name=rw2><br>
    只能输入数字:<input size=50 type="text" name=rw3><br>
    只能输入中文:<input size=50 type="text" name=rw5><br>
    日期:<input size=50 type="text" name=rw4><br>
    <button onclick="Juge()">验证</button>
    </body>