繁体   English   中英

Javascript / RegEx无法验证HTML表单

[英]Javascript / RegEx not validating HTML form

问题是,似乎我的JavaScript都无法正常工作,并且我花了数小时试图找出原因,我找不到任何明显的错误,并且我对JavaScript总体上还很陌生,但是我试图让JavaScript与regEx一起验证我表单中的代码,到目前为止,它什么也没做。

这是我的表格的代码:

<form action="ValideringVM.php" method="post" name="Registrer" onsubmit="return valider_alle()">
    <table> 
    <tr>

        <td><h3> Personalia:</h3> </td>
    </tr>    
    <tr>
        <td> Fornavn: </td>
        <td><input type="text" name="Fornavn" onChange="valider_fornavn()"/></td>
        <td><div id="FeilFornavn">*</div></td>
    </tr>
    <tr>
        <td> Etternavn: </td>
        <td><input type="text" name="Etternavn" onChange="valider_etternavn()"/></td>
        <td><div id="FeilEtternavn">*</div></td>
    </tr>
    <tr>
        <td> Adresse: </td>
        <td><input type="text" name="Adresse" onChange="valider_adresse()"/></td> 
        <td><div id="FeilAdresse">*</div></td>
    </tr>

     <tr>
        <td> Postnr: </td>
        <td><input type="text" name="Postnr" onChange="valider_postnr()"/></td> 
        <td><div id="FeilPostnr">*</div></td>
    </tr>
    <tr>
        <td> Email: </td>
        <td><input type="text" name="Email" onChange="valider_email()"/></td> 
        <td><div id="FeilEmail">*</div></td>
    </tr>
    <tr>
        <td> Telefonnr: </td>
        <td><input type="text" name="Telefonnr" onChange="valider_telefonnr()"/></td> 
        <td><div id="FeilTelefonnr">*</div></td>
    </tr>
    <tr>
        <td> Lag Brukernavn: </td>
        <td><input type="text" name="Brukernavn" onChange="valider_brukernavn()"/></td> 
        <td><div id="Feilbruker">*</div></td>
    </tr>
    <tr>
        <td> Lag Passord: </td>
        <td><input type="password" name="Passord" onChange="valider_passord()"/></td> 
        <td><div id="Feilpassord">*</div></td>
    </tr>
    <tr>
        <td><input type="submit" name="Send" value="Send"/></td> 
    </tr>
    </table>
    </form>

这是我的Javascript代码:

 <script type="text/javascript"> 
    function valider_fornavn()
    {
        regEx = /^[a-zA-ZæøåÆØÅ .\- ](2,20)$/;
        OK = regEx.test(document.Registrer.Fornavn.value);
        if(!OK)
        {
            document.getElementById("FeilFornavn").innerHTML="Feil i Fornavn";
            return false;  
        } 
        document.getElementById("FeilFornavn").innerHTML="";
        return true;
    }

    function valider_etternavn()
    {
        regEx = /^[a-zA-ZæøåÆØÅ .\- ](2,20)$/;
        OK = regEx.test(document.Registrer.Etternavn.value);
        if(!OK)
        {
            document.getElementById("FeilEtternavn").innerHTML="Feil i Etternavn";
            return false;  
        } 
        document.getElementById("FeilEtternavn").innerHTML="";
        return true;
    }

    function valider_adresse()
    {
        regEx = /^[a-zA-ZæøåÆØÅ 0-9.\- ](2,30)$/;
        OK = regEx.test(document.Registrer.Adresse.value);
        if(!OK)
        {
            document.getElementById("FeilAdresse").innerHTML="Feil i Adresse";
            return false;  
        } 
        document.getElementById("FeilAdresse").innerHTML="";
        return true;
    }

    function valider_postnr()
    {
        regEx = /^[0-9](4)$/;
        OK = regEx.test(document.Registrer.Postnr.value);
        if(!OK)
        {
            document.getElementById("FeilPostnr").innerHTML="Feil i Postnr";
            return false;  
        } 
        document.getElementById("FeilPostnr").innerHTML="";
        return true;
    }

    function valider_email()
    {
        regEx = /^[a-zA-ZæøåÆØÅ 0-9._%+-]+@[a-zA-ZæøåÆØÅ 0-9.-]+\.[a-z]{2,4}$/;
        OK = regEx.test(document.Registrer.Email.value);
        if(!OK)
        {
            document.getElementById("FeilEmail").innerHTML="Feil i Email";
            return false;  
        } 
        document.getElementById("FeilEmail").innerHTML="";
        return true;
    }

    function valider_telefonnr()
    {
        regEx = /^[0-9]{8}$/;
        OK = regEx.test(document.Registrer.Telefonnr.value);
        if(!OK)
        {
            document.getElementById("FeilTelefonnr").innerHTML="Feil i Telefonnummer";
            return false;  
        } 
        document.getElementById("FeilTelefonnr").innerHTML="";
        return true;
    }

    function valider_brukernavn()
    {
      regEx = /^[a-zA-ZæøåÆØÅ 0-9](4,20)$/;  
      OK = regEx.test(document.Registrer.Brukernavn.value);
      if(!OK)
      {
          document.getElementById("Feilbruker").innerHTML="Feil i brukernavnet";
          return false;
      }    
      document.getElementById("FeilBruker").innerHTML="";
      return true;
    }


    function valider_passord()
    {
      regEx = /^[a-zA-ZæøåÆØÅ 0-9](4,20)$/;  
      OK = regEx.test(document.Registrer.Passord.value);
      if(!OK)
      {
          document.getElementById("FeilPassord").innerHTML="Feil i passordet";
          return false;
      }    
      document.getElementById("FeilPassord").innerHTML="";
      return true;
    }

   function valider_alle()
   {
      (e || window.event).preventDefault();
      FornavnOK = valider_fornavn();
      EtternavnOK = valider_etternavn();
      AdresseOK = valider_adresse();
      PostnrOK = valider_postnr();
      TelefonnrOK = valider_telefonnr();
      EmailOK = valider_email();
      BrukernavnOK = valider_brukernavn();
      PassordOK = valider_passord(); 

   }
   if(FornavnOK && EtternavnOK && AdresseOK && PostnrOK && TelefonnrOK && EmailOK && BrukernavnOK && PassordOK)
   {
       return true;
   }
   else
   {
       return false;
   }


    </script>

最后一个函数valider_alle尾括号未设置在正确的位置

 function valider_alle()
 {
      (e || window.event).preventDefault();
      FornavnOK = valider_fornavn();
      EtternavnOK = valider_etternavn();
      AdresseOK = valider_adresse();
      PostnrOK = valider_postnr();
      TelefonnrOK = valider_telefonnr();
      EmailOK = valider_email();
      BrukernavnOK = valider_brukernavn();
      PassordOK = valider_passord(); 

 //} this one must be at the end
 if(FornavnOK && EtternavnOK && AdresseOK && PostnrOK && TelefonnrOK && EmailOK && BrukernavnOK && PassordOK)
 {
       return true;
 }
 else
 {
       return false;
 }

}

并确保长度在2到20之间,例如:

regEx = /^[a-zA-ZæøåÆØÅ .\- ](2,20)$/;// ( and ) is not for length

它必须写成:

regEx = /^[a-zA-ZæøåÆØÅ .\- ]{2,20}$/;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM