-3

任何人都可以建议使用 javascript 进行简单的密码验证。我需要它至少有 4 个字符长并且包含最少 1 个字母和 1 个数字。

这是一个学校项目,所以它实际上只需要一个简单的验证来确保他们输入了所需的字符。

我在用

<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;}
4

2 回答 2

4

您可以使用正则表达式并检查长度。正则表达式是对一个字母和一个数字以任意顺序进行不区分大小写的检查。长度必须大于 3。

function testString(s) {
  var re = /[a-z]\d|\d[a-z]/i;
  return re.test(s) && s.length > 3;
}
于 2013-04-22T06:24:17.883 回答
1

尝试这个:

// 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。

于 2013-04-22T06:22:16.373 回答