2013-04-22 137 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; 
}