2017-08-08 13 views
0

ユーザーがサインアップでき、私は電子メールが有効で、電子メールが一致し、パスワードが長さの要件を満たしていて、パスワードが一致していることを確認しようとしています。しかし、正常に動作していません。Javascriptの電子メールとパスワードの検証

 <tr> 
      <td></br>Email Address:</td> 
     </tr> 
     <tr> 
      <td><input id="em100" type="email" name="email1" required>     
     </td> 
     </tr> 
     <tr> 
      <td></br>Confirm Email Address:</td> 
     </tr> 
     <tr> 
      <td><input id="em101" type="email" name="email2" required></td> 
     </tr> 

パスワード表の行::

 <tr> 
     <td></br>Password:</td> 
     </tr> 
     <tr> 
      <td><input id="pw100" type="password" name="pass1" required></td> 
     </tr> 
     <tr> 
      <td></br>Confirm Password:</td> 
     </tr> 
     <tr> 
      <td><input id="pw101" type="password" name="pass2" required></td> 
     </tr> 

は、表の行を提出してください:

 <tr> 
      <td style="padding-top: 10px;"></br><input type="submit" value="Register" onclick="regValidation();"></td> 
     </tr> 

Javascriptのコード:

htmlコードは

メール表の行と同じ形式であります

function regValidation() 
{ 
document.getElementById('td100').innerHTML = ""; 
event.preventDefault ? event.preventDefault() : event.returnValue = false; 

var email1 = document.getElementById('em100').value; 
var email2 = document.getElementById('em101').value; 
var pass1 = document.getElementById('pw100').value; 
var pass2 = document.getElementById('pw101').value; 

if (document.getElementById('em100').checkValidity()) { 
    if (email1 = email2) { 
     if (pass1 = pass2) { 
      if (pass1.length >= @minPass || pass1.length <= @maxPass) { 
       return true && regSuccess(); 
      } else { 
       document.getElementById('td100').innerHTML += "</br>Password must be @minPass - @maxPass characters."; 
      } 
     } else { 
      document.getElementById('td100').innerHTML += "</br>Passwords do not match."; 
     } 
    } else { 
     document.getElementById('td100').innerHTML += "</br>Emails do not match."; 
    } 
} else { 
    document.getElementById('td100').innerHTML += "</br>Emails are not valid."; 
} 
} 

function regSuccess() 
{ 
    alert("Thank you for signing up!"); 
    document.getElementById('fm101').submit(); 
    return; 
} 
あなたの条件文で
+0

を行うことができますか?何かエラーがありますか? – user1777136

+0

asp.netを使用している場合は、asp.netに組み込まれているバリデーター – RohitS

+0

を利用することもできます。指定した値と同等ではありません。値= 0と等しい値を指定する必要があります。 – RohitS

答えて

1

あなたは比較する必要がある、と少し簡単にIFSをチェーンことがあります。

function getError(){  
if(pass1 !== pass2) return "password missmatch"; 
if(email1 !== email2) return "emails missmatch"; 
if(pass1.length < min || pass1.length > max) return "password to long/short"; 
return false; 
} 

だから、あなたが働いていない何

var error = getError(); 
if(!error){ 
    return alert(" all fine"); 
} 
alert(error); 
+0

これは機能しました。ありがとうございました! –

+0

元のコードに==を追加することでこの問題も解決しました。 –

+0

@doug fresh yesですが、より良い解決策を示したかったのです。助けて嬉しい;) –

0

、あなたが値を代入されます。

if (pass1 = pass2) 

これはおそらく

if (pass1 == pass2) 
-1

1でなければなりません {}

(email1 == EMAIL2)場合は、あなたの if文 をチェック

pass1とpass2用のサギート if(pass1 == pass2) {}

2あなたが

3は自分の入力に MAXLENGTH属性を追加し、最大長を超えないよう、パスワードをチェックするため

<input type="email"> 

は、ブラウザが自動的に電子メールの検証を行います置く場合タグ

<input type="password" maxlength="10"> 

これにより、追加のjsコード

+0

サーバーを介してすべての検証を実行したいと考えています。 –

関連する問題