2017-02-19 4 views
0

このjavascriptコードは、正規表現を使用してjavascriptによるクライアントサイド検証のエントリを評価するまで機能しています。正規表現をチェックし、正規表現をチェックしてエントリをチェックできる解決法を教えてください。 評価するコードを添付します。前もって感謝します。javascriptを使用してクライアント側の検証に正規表現を使用するにはどうすればよいですか?

<script type="text/javascript"> 

      var tuname=document.forms["teachersignup"]["tusername"]; 
      var tname=document.forms["teachersignup"]["tname"]; 
      var temail=document.forms["teachersignup"]["temail"]; 
      var tpassword=document.forms["teachersignup"]["tpassword"]; 
      var tiname=document.forms["teachersignup"]["tiname"]; 

      var uname=document.getElementById("uname"); 
      var naame=document.getElementById("nname"); 
      var email=document.getElementById("email"); 
      var pswd=document.getElementById("password"); 
      var iname=document.getElementById("iname"); 

      tuname.addEventListener("blur",unameVerify,true); 
      tname.addEventListener("blur",nameVerify,true); 
      temail.addEventListener("blur",emailVerify,true); 
      tpassword.addEventListener("blur",passwordVerify,true); 
      tiname.addEventListener("blur",inameVerify,true); 

      var ck_password = /^[[email protected]#$%^&*()_]{8,30}$/; 
      var ck_iname = /^[A-Za-z0-9 ]*{3,60}$/; 
      var ck_username = /^[a-zA-Z0-9.\[email protected]]{3,20}$/; 
      var ck_name = /^[A-Za-z]{3,60}$/; 
      var ck_email = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; 


      function ValidateForm(){ 
       if(tuname.value == ""){ 
        tuname.style.border="1px solid red"; 
        uname.innerHTML="Enter a valid username"; 
        tuname.focus(); 
        return false; 
       } 
       if(tname.value == ""){ 
        tname.style.border="1px solid red"; 
        naame.innerHTML="Enter a valid name"; 
        tname.focus(); 
        return false; 
       } 
       if(temail.value == ""){ 
        temail.style.border="1px solid red"; 
        email.innerHTML="Enter a valid email"; 
        temail.focus(); 
        return false; 
       } 
       if(tpassword.value == ""){ 
        tpassword.style.border="1px solid red"; 
        pswd.innerHTML="Enter a valid password"; 
        tuname.focus(); 
        return false; 
       } 
       if(tiname.value == ""){ 
        tiname.style.border="1px solid red"; 
        iname.innerHTML="Enter a valid institute's name"; 
        tuname.focus(); 
        return false; 
       } 
      } 
      function unameVerify(){ 
       if(tuname.value!=""){ 
        tuname.style.border="1px solid #5bc0de"; 
        uname.innerHTML=""; 
        return true; 

       } 

      } 
      function nameVerify(){ 
       if(tname.value!="" ){ 

        tname.style.border="1px solid #5bc0de"; 
        name.innerHTML=""; 
        return true; 
       } 

      } 
      function emailVerify(){ 
       if(temail.value!=""){ 
        temail.style.border="1px solid #5bc0de"; 
        email.innerHTML=""; 
        return true; 
       } 

      } 
      function passwordVerify(){ 
       if(tpassword.value!=""){ 
        tpassword.style.border="1px solid #5bc0de"; 
        pswd.innerHTML=""; 
        return true; 
       } 

      } 
      function inameVerify(){ 
       if(tiname.value!=""){ 
        tiname.style.border="1px solid #5bc0de"; 
        iname.innerHTML=""; 
        return true; 
       } 

      } 

    </script> 
+0

あなたのコードについて何が問題になっているのかを詳しく説明してください。 – CollinD

+0

条件文で評価するために正規表現を使用している場合、正規表現は機能しません。 したがって、クライアント側のエントリの評価用の正規表現はどこに配置しますか? – Dinesh

答えて

0

これを試してください。

var tuname_val = tuname.value;

var valid_tuname = tuname_val.match(ck_username);

これはあなたのパターンにマッチした有効な入力を格納するキー「入力」を持つオブジェクトを返します。

これが機能しない場合は教えてください。

+0

これは何を返すでしょうか? これをどのように条件として使用するか。 たとえば、エントリが満たされない場合、次のページに移動しません。それは同じ登録ページでエラーメッセージを表示してくれる – Dinesh

+0

私にアプローチする方法を教えてください? – Dinesh

+0

私はこれのためにJSFiddleを作成しました。ここをクリックしてください:https://jsfiddle.net/yogesh214/pmh90571/ JSの127行目では、パスワードの長さが最小8&最大30でなければならないことをユーザーに警告するスクリプトを追加することができます。有効なパスワード '(私がフィドルで行ったように)。また、正規表現ck_inameにはいくつかのエラーがあったので、代わりにck_nameを使用しました。 それが役立つかどうかを確認し、伝えます。 –

関連する問題