2013-04-22 210 views
-3

任何人都可以推薦使用javascript進行簡單的密碼驗證。我需要它至少有4個字符長,包含最少1個字母和1個數字。Javascript密碼驗證

這是一個學校項目,所以它只是一個簡單的驗證,需要確保他們輸入所需的字符。

我使用

<textarea id="special_info" name="address" onfocus="this.value=''" rows="5" cols="40" >Please enter your address... 
      </textarea> 
      <div id="maxcar">(Maximum characters: 200) 
      </div> 

我的JavaScript這種格式

function validate_form(){ 

valid=true; 

var letters=/^[a-zA-Z]+$/; 
var numbers=/^[0-9]+$/; 
var email=document.order_form.user_email.value; 
var invalid = []; 

if (document.order_form.first_name.value.search(letters)==-1){ 
invalid.push("*First Name") 
} 

if (document.order_form.surname.value.search(letters)==-1){ 
invalid.push("*Surname Name") 
} 

if (email.indexOf("@")<1 || email.lastIndexOf(".")<email.indexOf("@")+2 
|| email.lastIndexOf(".")+2>=email.length){ 
invalid.push("*Email") 
} 

if (invalid.length != 0) 
{alert("Please provide response: \n" + invalid.join("\n")); 
    valid = false; 
    invalid = [];} 


return valid;} 
+0

什麼問題?你面臨什麼問題?你在哪裏遇到麻煩? – Uooo 2013-04-22 06:13:50

+0

lol嗯,我真的不知道如何使用上面使用的相同格式編寫它。我知道它的意思很簡單,但我很困惑! – 2013-04-22 07:06:09

回答

0

試試這個:

// returns true if the form was valid; false otherwise. 

function validateForm() { 

    var allLetters = /^[a-zA-Z]+$/; 
    var letter = /[a-zA-Z]/; 
    var number = /[0-9]/; 

    var firstName = document.order_form.first_name.value; 
    var surname = document.order_form.surname.value; 
    var email = document.order_form.user_email.value; 
    var password = document.order_form.password.value; 

    var invalid = []; 

    if (!allLetters.test(firstName)) { 
     invalid.push("*First Name"); 
    } 

    if (!allLetters.test(surname)) { 
     invalid.push("*Surname Name"); 
    } 

    if (email.indexOf("@") < 1 || email.lastIndexOf(".") < email.indexOf("@") + 2 || email.lastIndexOf(".") + 2 >= email.length) { 
     invalid.push("*Email"); 
    } 

    if (password.length < 4 || !letter.test(password) || !number.test(password)) { 
     invalid.push("*Password"); 
    } 

    if (invalid.length != 0) { 
     alert("Please provide response: \n" + invalid.join("\n")); 
     return false; 
    } 

    return true; 
} 

給它一個很好的讀取,運行它,如果問的問題有些事情還不清楚。請注意使用RegExp.test而不是String.search。

2

您可以使用正則表達式並檢查長度。正則表達式對一個字母和一個數字按任意順序進行不區分大小寫的檢查。長度必須大於3.

function testString(s) { 
    var re = /[a-z]\d|\d[a-z]/i; 
    return re.test(s) && s.length > 3; 
}