我已经编写了此Ajax代码来验证表单,它可以正常工作,但是它正在检查唯一的密码是否为空,而不是在检查密码的其他部分。我哪里错了!我从网上获得的密码正则表达式。这是对的吗?请纠正我。
$('#login-btn').click(function(event) {
console.log('hit')
if (formValidate()) {
$.ajax({
method: "POST",
url: '/login',
data: {
email: $('#id_Email').val(),
password: $('#id_Password').val(),
csrfmiddlewaretoken: '{{ csrf_token }}',
},
success: function(res) {
var response = $.parseJSON(res)
$('#login-data').html(response.msg)
if (response.code == 200) {
$('#login-data').html(response.msg);
window.location = "http://localhost:8000";
}
},
})
}
})
function formValidate() {
var isValid = true;
if ($('#id_Email').val() == "") {
isValid = false
$('#login-data').html('Please Enter Email Address')
} else {
if (!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($('#id_Email').val()))) {
isValid = false;
$('#login-data').html('Please Enter Valid Email Address')
}
}
if ($('#id_Password').val() == "") {
isValid = false
$('#login-data').html('Please Enter Password')
} else {
if (!(/^(?=.*\d)(?=.*[#$@!%&*?])[A-Za-z\d#$@!%&*?]{8,}$/.test($('#id_Password').val()))) {
isValid = false;
$('#login-data').html('Password Length Must Be 8 with One Spacial Character & One Digit')
}
}
return isValid;
}
答案 0 :(得分:0)
答案 1 :(得分:0)
尝试一下:
(?=(?=.*[\d]+.*)(?=.*[A-Za-z]+.*)(?=.*[\\\|\=\+\~\/\-\*\.\?\!\~\&\[\]\(\)\^\$\#\@\{\}]+.*)(?=[\w\\\|\=\+\~\/\-\*\.\?\!\~\&\[\]\(\)\^\$\#\@\{\}]{8,}))