2016-07-15 11 views
-1

誰かが私を助けることができますか?私のswitch文はjavascriptファイルでは機能しませんが、if文にするとうまくいきます。これをどうすれば解決できますか?誰かが私を助けることができますか?私のswitch文はjavascriptファイルでは機能しませんが、if文にするとうまくいきます。これをどうすれば解決できますか?

function validate() 
    { 
     switch (document.getElementById("choose").value) 
      { 
       case 0: 
        var ucompare=new RegExp(/^[\S][a-zA-Z ]{1,}$/g); 
        var pcompare=new RegExp(/^(("[\w-+\s]+")|([\w-+]+(?:\.[\w-+]+)*)|("[\w-+\s]+")([\w-+]+(?:\.[\w-+]+)*))(@((?:[\w-+]+\.)*\w[\w-+]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$)|(@\[?((25[0-5]\.|2[0-4][\d]\.|1[\d]{2}\.|[\d]{1,2}\.))((25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\.){2}(25[0-5]|2[0-4][\d]|1[\d]{2}|[\d]{1,2})\]?$)/i); 
        var user=true,pass=true; 
        var uname=document.getElementById("username").value; 
        var pword=document.getElementById("password").value; 
        if(ucompare.test(uname)==false) 
        { 
         user=false; 
        } 
        if(pcompare.test(pword)==false) 
        { 
         pass=false; 
        } 
        if(user==false&&pass==true) 
        { 
         alert("Invalid ID number. Please enter a valid family name."); 
        } 
        else if(user==true&&pass==false) 
        { 
         alert("Invalid password. Please enter a valid e-mail address."); 
        } 
        else if(user==false&&pass==false) 
        { 
         alert("Invalid inputs. Please enter a valid family name as ID number and a valid e-mail address as password."); 
        } 
        break; 
      } 
    } 

+2

「機能しない」とはどういう意味ですか?期待される行動は何ですか?実際の行動とは何ですか?コンソールにエラーがありますか? (なぜあなたは1つのケースだけのスイッチを持っていますか?なぜ、正規表現オブジェクトである引数を使って 'new RegExp()'を呼び出すのですか?) – nnnnnn

+2

値は常に文字列です。 'if'ステートメントでは、おそらく非厳密な比較を使用しています – adeneo

+0

ありがとうございました!私の問題を解決しました – Dener

答えて

0

ケースステートメントの0の前後に引用符を入れます。 ただしif文を使用するだけです。

関連する問題