任何人都可以建议使用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;}
答案 0 :(得分:2)
您可以使用正则表达式并检查长度。正则表达式是对一个字母和任何顺序的一个数字进行不区分大小写的检查。长度必须大于3。
function testString(s) {
var re = /[a-z]\d|\d[a-z]/i;
return re.test(s) && s.length > 3;
}
答案 1 :(得分: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。