2017-11-22 12 views
0

私は私が各ラベルにしたい用語で、登録の定期的な形を構築するために書いたこのコードが、いくつか私は正しい答えを得ることができないかjavascriptを使用する前に検証値を確認するにはどうすればよいですか?

function validateForm() { 
 
\t var flag = true; 
 
\t var name1 = document.forms["myForm"]["full name"].value; 
 
\t var password1 = document.forms["myForm"]["password"].value; 
 
\t var repassword1 = document.forms["myForm"]["passwordrepeat"].value; 
 

 
\t if (name1 == null || name1 == "" || name1.value.matchs(/^[A-Za-z]+$/)) { 
 
\t \t document.getElementById("nameError").style = "color:red;" 
 
\t \t document.getElementById("nameError").innerHTML = "please enter name, with letters only!"; 
 
\t \t flag = false; 
 
\t } 
 
\t if (password1 == null || password1 == "" || !/^[0-9a-zA-Z]+$ /.test(password1)) 
 
\t { 
 
\t \t document.getElementById("passError").style = "color:red;" 
 
\t \t document.getElementById("passError").innerHTML = "please enter the passwords with values A - Z and 0 - 9"; 
 
\t \t flag = false; 
 
\t } 
 
\t if (repassword1 == null || repassword1 == "" || 
 
\t \t repassword1.value != password1.value) { 
 
\t \t document.getElementById("passwordrepeatError").style = "color:red;" 
 
\t \t document.getElementById("passwordrepeatError").innerHTML = "please enter the passwords matchs!"; 
 
\t \t flag = false; 
 
\t } 
 

 
\t if (flag == false) 
 
\t \t return false; 
 
\t else { 
 
\t \t window.alert("you've been registed successfully !"); 
 
\t } 
 
}
<form name="myForm" onsubmit="return validateForm()" method="post"> 
 
\t full name : 
 
\t <input type="text" name="full name"><label id=nameError></label> 
 
\t <br> password : 
 
\t <input type="password" name="password"><label id=passError></label> 
 
\t <br> re-password : 
 
\t <input type="password" name="passwordrepeat"><label id=passwordrepeatError></label> 
 
\t <br><br> 
 
\t <input type="submit" value="Submit"> 
 
</form>

それを持っていますすべてのフィールドが<次のように空になったときに動作します:
enter image description here

が、私はラベルを記入し、クリックsumbit、すべての値が削除されたとのMSGを得ることはありません、何が間違っていましたか?

答えて

0
name1.value.matchs(/^[A-Za-z]+$/)) 

この行は、綴りが間違っており、変数に既に値が含まれているため、次のように変更する必要があります。名前が正規表現と一致しない場合にのみエラーを表示したいので、最初に否定記号を追加する必要があります。

!name1.match(/^[A-Za-z]+$/) 

は、あなたもこの正規表現から最後の二つのシンボル間のスペースを削除する必要があります。

!/^[0-9a-zA-Z]+$/
関連する問題