Ajax注册验证js代码

时间:2023-03-09 07:07:31
Ajax注册验证js代码

分享jquery网站:http://www.css88.com/jqapi-1.9/focusout/

 $(document).ready(function() {

     var bool_user = false;
var bool_mail = false;
var bool_pwd1 = false;
var bool_pwd2 = false;
var bool_code = false; $("#username").focusin(function(){
$('#p_username').css('color', '#666');
}); $("#username").focusout(function() { $('#p_username').css('color', '#A5A5A5'); var pattern = /^[A-Za-z0-9_\u4e00-\u9fa5]+$/;
var username = $("#username").val(); var username_tmp = username.replace(/[^\x00-\xff]/g, 'xx'); $("#div_usrename").html("内容");
if (username != '') {
$("#div_usrename").empty(); if (username_tmp.length < 4 || username_tmp.length > 20) { $("#div_usrename").addClass("err1");
$("#div_usrename").append("内容");
} else if (!pattern.test(username)) {
$("#div_usrename").addClass("err1");
$("#div_usrename").append("内容");
} else { $.ajax({
type: 'post',
url: '/site/checkUsername',
data: "username=" + username,
success: function(data) {
data = eval("(" + data + ")");
if (data.flag == 1) {
$("#div_usrename").removeClass('err1').addClass('rig1').html("内容");
bool_user = true;
} else {
$("#div_usrename").addClass("err1");
$("#div_usrename").html("内容");
}
}
})
}
} else {
$("#div_usrename").addClass('err1').html("内容");
}
}); $("#email").focusin(function(){
$('#p_email').css('color', '#666');
}); $("#email").focusout(function() { $('#p_email').css('color', '#A5A5A5'); var pattern = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/; var email = $("#email").val(); if (email != '') {
$("#div_email").empty();
$("#div_email").html("内容");
if (pattern.test(email)) {
$.ajax({
type: 'post',
url: '/site/checkEmail',
data: "email=" + email,
success: function(data) {
data = eval("(" + data + ")");
if (data.flag == 1) {
$("#div_email").removeClass('err1').addClass('rig1').html('');
bool_mail = true;
} else if(data.flag == -1){
$("#div_email").addClass('err1').html("内容");
} else if(data.flag == -2){
$("#div_email").addClass('err1').html("内容");
} else if(data.flag == -3){
$("#div_email").addClass('err1').html("内容");
} else if(data.flag == -4){
$("#div_email").addClass('err1').html("内容");
} else {
$("#div_email").addClass('err1').html("内容");
}
}
})
} else {
$("#div_email").addClass('err1').html("内容");
}
} else {
$("#div_email").addClass('err1').html("内容");
}
}); $("#pwd1").focusin(function(){
$('#p_pwd1').css('color', '#666');
}); $("#pwd1").focusout(function(){
$('#p_pwd1').css('color', '#A5A5A5');
}); $("#pwd1").keyup(function() { $('#p_pwd1').css('color', '#666'); var username = $('#username').val();
var pwd1 = $("#pwd1").val(); if (pwd1 != '') {
$("#div_pwd1").empty(); var score = testpass(pwd1,username); if (score == -4) {
$('#pwdsbox1').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
$("#div_pwd1").addClass('err1').html("内容");
} else if (score == -2 ) {
$('#pwdsbox1').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
$("#div_pwd1").addClass('err1').html("内容");
} else { if(score >= 70){
$('#pwdsbox1').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox2').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox3').removeClass('pwds').addClass('pwdsb');
bool_pwd1 = true;
$("#div_pwd1").removeClass('err1').addClass('rig1').html("");
} else if(score >= 30){
$('#pwdsbox1').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox2').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
bool_pwd1 = true;
$("#div_pwd1").removeClass('err1').addClass('rig1').html("");
} else if(score >= 1){
$("#div_pwd1").addClass('err1').html("内容");
$('#pwdsbox1').removeClass('pwds').addClass('pwdsb');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
} else {
$('#pwdsbox1').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
}
}
} else {
$('#pwdsbox1').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox2').removeClass('pwdsb').addClass('pwds');
$('#pwdsbox3').removeClass('pwdsb').addClass('pwds');
$("#div_pwd1").addClass('err1').html("内容");
}
}); $("#pwd2").focusin(function(){
$('#p_pwd2').css('color', '#666');
}); $("#pwd2").focusout(function() { $('#p_pwd2').css('color', '#A5A5A5'); var pwd1 = $("#pwd1").val();
var pwd2 = $("#pwd2").val(); if (pwd2 != '') {
if (pwd1 == pwd2) {
$("#div_pwd2").removeClass('err1').addClass('rig1').html("");
bool_pwd2 = true;
} else {
$("#div_pwd2").addClass('err1').html("内容");
} } else {
$("#div_pwd2").addClass('err1').html("内容");
}
}); $("#code").focusout(function() {
var code = $("#code").val();
if (code != '') {
$("#div_code").html("内容");
$.ajax({
type: 'post',
url: '/site/checkVerifycode',
data: "code=" + code,
success: function(data) {
data = eval("(" + data + ")");
if (data.flag == 1) {
$("#div_code").removeClass('err1').addClass('rig1').html("");
bool_code = true;
} else {
$("#div_code").addClass('err1').html("内容");
}
}
})
} else {
$("#div_code").addClass('err1').html("内容");
}
}); $("#submit").click(function() {
if (bool_user && bool_pwd1 && bool_pwd2 && bool_code && bool_mail) {
return true;
} else {
if ($("#username").val() == "") {
$("#div_usrename").addClass('err1').html("请输入用户名");
}
if ($("#pwd1").val() == "") {
$("#div_pwd1").addClass('err1').html("内容");
}
if ($("#pwd2").val() == "") {
$("#div_pwd2").addClass('err1').html("内容");
}
if ($("#email").val() == "") {
$("#div_email").addClass('err1').html("内容");
}
if ($("#code").val() == "") {
$("#div_code").addClass('err1').html("内容");
}
return false;
}
});
}); function testpass(password, username) {
var score = 0;
if (password.length < 6 || password.length > 24) {
return - 4;
}
if (typeof(username) != 'undefined' && password.toLowerCase() == username.toLowerCase()) {
return - 2
}
score += password.length * 4;
score += (repeat(1, password).length - password.length) * 1;
score += (repeat(2, password).length - password.length) * 1;
score += (repeat(3, password).length - password.length) * 1;
score += (repeat(4, password).length - password.length) * 1;
if (password.match(/(.*[0-9].*[0-9].*[0-9])/)) {
score += 5;
}
if (password.match(/(.*[!,@,#,$,%,^,&,*,?,_,~].*[!,@,#,$,%,^,&,*,?,_,~])/)) {
score += 5;
}
if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {
score += 10;
}
if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) {
score += 15;
}
if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([0-9])/)) {
score += 15;
}
if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([a-zA-Z])/)) {
score += 15;
}
if (password.match(/^\w+$/) || password.match(/^\d+$/)) {
score -= 10;
}
if (score < 0) {
score = 0;
}
if (score > 100) {
score = 100;
}
return score; } function repeat(len, str) {
var res = "";
for (var i = 0; i < str.length; i++) {
var repeated = true;
for (var j = 0,
max = str.length - i - len; j < len && j < max; j++) {
repeated = repeated && (str.charAt(j + i) == str.charAt(j + i + len));
}
if (j < len) repeated = false;
if (repeated) {
i += len - 1;
repeated = false;
} else {
res += str.charAt(i);
}
}
return res;
}