求一个密码验证的正则表达式或者js验证,类似京东注册 密码验证 正则表达式 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $.extend( validateFunction, { regValidate: function () { if ($("#mobileCodeDiv").attr("class") == 'item') { $("#regName").jdValidate(validatePrompt.regName, validateFunction.regName, true); $("#pwd").jdValidate(validatePrompt.pwd, validateFunction.pwd, true); $("#pwdRepeat").jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat, true); $("#mobileCode").jdValidate(validatePrompt.mobileCode, validateFunction.mobileCode, true); return validateFunction.FORM_submit(["#regName", "#pwd", "#pwdRepeat", "#mobileCode"]); } else { $("#regName").jdValidate(validatePrompt.regName, validateFunction.regName, true); $("#pwd").jdValidate(validatePrompt.pwd, validateFunction.pwd, true); $("#pwdRepeat").jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat, true); return validateFunction.FORM_submit(["#regName", "#pwd", "#pwdRepeat"]); } } });var isSubmit = false;$("#pwd").bind("keyup",function () { validateFunction.pwdstrength();}).jdValidate(validatePrompt.pwd, validateFunction.pwd)$("#pwdRepeat").jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat);$("#regName").jdValidate(validatePrompt.regName, validateFunction.regName);$("#mobileCode").jdValidate(validatePrompt.mobileCode, validateFunction.mobileCode);function checkReadMe() { if ($("#readme").attr("checked") == true) { $("#protocol_error").removeClass().addClass("error hide"); return true; } else { $("#protocol_error").removeClass().addClass("error"); return false; }}function agreeonProtocol() { if ($("#readme").attr("checked") == true) { $("#protocol_error").removeClass().addClass("error hide"); return true; }}function protocolReg() { $("#closeBox").click(); reg();}function reg() { if (isSubmit) { return; } var agreeProtocol = checkReadMe(); var regNameok = validateRegName(); isSubmit = true; var passed = validateFunction.regValidate() && regNameok && agreeProtocol; //pageTracker._trackEvent('Button', 'Regist', 'Normal'); if (passed) { $("#registsubmit").attr({ "disabled": "disabled" }).removeClass().addClass("btn-img btn-regist wait-btn"); $.ajax({ type: "POST", url: "../reg/regService?r=" + Math.random() + "&" + location.search.substring(1), contentType: "application/x-www-form-urlencoded; charset=utf-8", data: $("#personRegForm").serialize(), success: function (result) { if (result) { var obj = eval(result); if (obj.info) { alert(obj.info); verc(); $("#registsubmit").removeAttr("disabled").removeClass().addClass("btn-img btn-regist"); isSubmit = false; return; } if (obj.noAuth) { verc(); window.location = obj.noAuth; return; } if (obj.success == true) { window.location = obj.dispatchUrl; } } } }); } else { $("#registsubmit").removeAttr("disabled").removeClass().addClass("btn-img btn-regist"); isSubmit = false; }}function popupReg() { var agreeProtocol = checkReadMe(); var passed = validateRegName() && validateFunction.regValidate() && agreeProtocol; if (passed) { $("#popupRegButton").attr({ "disabled": "disabled" }).removeClass().addClass("btn-img btn-regist wait-btn"); $.ajax({ type: "POST", url: "../reg/regService?r=" + Math.random(), contentType: "application/x-www-form-urlencoded; charset=utf-8", data: $("#popupPersonRegForm").serialize(), success: function (result) { if (result) { var obj = eval(result); if (obj.info) { alert(obj.info); verc(); $("#popupRegButton").removeAttr("disabled").removeClass().addClass("btn-img btn-regist"); return; } if (obj.noAuth) { verc(); window.parent.location = obj.noAuth; return; } if (obj.success == true) { window.parent.jdModelCallCenter.init(true); return; } } } }); } else { $("#popupRegButton").removeAttr("disabled").removeClass().addClass("btn-img btn-regist"); }}function popupContinueReg() { $("#protocolContent").removeClass().addClass("regist-bor hide"); $("#popupPersonRegForm").show(); popupReg();}function showProtocol() { $("#popupPersonRegForm").hide(); $("#protocolContent").removeClass().addClass("regist-bor");}//$("#authcode").bind('keyup', function (event) {// if (event.keyCode == 13) {// $("#registsubmit").click();// }//}); //验证文本var validatePrompt = { regName: { onFocus: "请输入邮箱/用户名/手机号", succeed: "", isNull: "请输入邮箱/用户名/手机号", error: { beUsed: "该用户名已被使用,请重新输入或使用推荐用户名。如果您是"{1}",请立刻<a href='https://passport.jd.com/uc/login' class='flk13'>登录</a>", badLength: "用户名长度只能在4-20位字符之间", badFormat: "用户名只能由中文、英文、数字及“_”、“-”组成", fullNumberName: "<span>用户名不能是纯数字,请确认输入的是手机号或者重新输入</span>" }, onFocusExpand: function () { $("#morePinDiv").removeClass().addClass("intelligent-error hide"); } }, pwd: { onFocus: "<span>6-20位字符,可使用字母、数字或符号的组合,不建议使用纯数字,纯字母,纯符号</span>", succeed: "", isNull: "请输入密码", error: { badLength: "密码长度只能在6-20位字符之间", badFormat: "密码只能由英文、数字及标点符号组成", simplePwd: "<span>该密码比较简单,有被盗风险,建议您更改为复杂密码,如字母+数字的组合</span>", weakPwd: "<span>该密码比较简单,有被盗风险,建议您更改为复杂密码</span>" }, onFocusExpand: function () { $("#pwdstrength").hide(); } }, pwdRepeat: { onFocus: "请再次输入密码", succeed: "", isNull: "请输入密码", error: { badLength: "密码长度只能在6-20位字符之间", badFormat2: "两次输入密码不一致", badFormat1: "密码只能由英文、数字及标点符号组成" } }, mobileCode: { onFocus: "", succeed: "", isNull: "请输入短信验证码", error: "验证码错误" }, protocol: { onFocus: "", succeed: "", isNull: "请先阅读并同意《京东用户注册协议》", error: "" }, empty: { onFocus: "", succeed: "", isNull: "", error: "" }}; //回调函数var validateFunction = { regName: function (option) { $("#intelligent-regName").empty().hide(); var regName = option.value; if (validateRules.isNull(regName) || regName == '邮箱/用户名/手机号') { option.element.removeClass(validateSettings.INPUT_style2).removeClass(validateSettings.INPUT_style1); $("#regName_error").removeClass().empty(); return; } if (regName.indexOf("@") > -1) { $("#mobileCodeDiv").removeClass().addClass("item hide"); $("#authcodeDiv").show(); checkEmail(option); return; } if (validateRules.isMobile(regName)) { checkMobile(option); return; } $("#mobileCodeDiv").removeClass().addClass("item hide"); $("#authcodeDiv").show(); checkPin(option); }, pwd: function (option) { var str1 = option.value; var regName = $("#regName").val(); if ((validateRules.isNull(regName) == false) && (regName != '邮箱/用户名/手机号') && regName == str1) { $("#pwdstrength").hide(); validateSettings.error.run(option, "<span>您的密码与账户信息太重合,有被盗风险,请换一个密码</span>"); return; } var str2 = $("#pwdRepeat").val(); var format = validateRules.isPwd(option.value); var length = validateRules.betweenLength(option.value, 6, 20); $("#pwdstrength").hide(); if (!length && format) { validateSettings.error.run(option, option.prompts.error.badLength); } else if (!length && !format) { validateSettings.error.run(option, option.prompts.error.badFormat); } else if (length && !format) { validateSettings.error.run(option, option.prompts.error.badFormat); } else if (validateRules.weakPwd(str1)) { validateSettings.error.run(option, option.prompts.error.weakPwd); } else { validateSettings.succeed.run(option); validateFunction.pwdstrength(); if (validateRules.simplePwd(str1)) { $("#pwd_error").removeClass().addClass("focus"); $("#pwd_error").empty().html(option.prompts.error.simplePwd); return; } } if (str2 == str1) { $("#pwdRepeat").focus(); } }, pwdRepeat: function (option) { var str1 = option.value; var str2 = $("#pwd").val(); var length = validateRules.betweenLength(option.value, 6, 20); var format2 = validateRules.isPwdRepeat(str1, str2); var format1 = validateRules.isPwd(str1); if (!length) { validateSettings.error.run(option, option.prompts.error.badLength); } else { if (!format1) { validateSettings.error.run(option, option.prompts.error.badFormat1); } else { if (!format2) { validateSettings.error.run(option, option.prompts.error.badFormat2); } else { validateSettings.succeed.run(option); } } } }, mobileCode: function (option) { var bool = validateRules.isNull(option.value); if (bool) { validateSettings.error.run(option, option.prompts.error); return; } else { validateSettings.succeed.run(option); } }, protocol: function (option) { if (option.element.attr("checked") == true) { option.element.attr("sta", validateSettings.succeed.state); option.errorEle.html(""); } else { option.element.attr("sta", validateSettings.isNull.state); option.succeedEle.removeClass(validateSettings.succeed.style); } }, pwdstrength: function () { var element = $("#pwdstrength"); var value = $("#pwd").val(); if (value.length >= 6 && validateRules.isPwd(value)) { $("#pwd_error").removeClass('focus'); $("#pwd_error").empty(); element.show(); var level = pwdLevel(value); switch (level) { case 1: element.removeClass().addClass("strengthA"); break; case 2: element.removeClass().addClass("strengthB"); break; case 3: element.removeClass().addClass("strengthC"); break; default: break; } } else { element.hide(); } }, checkGroup: function (elements) { for (var i = 0; i < elements.length; i++) { if (elements[i].checked) { return true; } } return false; }, checkSelectGroup: function (elements) { for (var i = 0; i < elements.length; i++) { if (elements[i].value == -1) { return false; } } return true; }, FORM_submit: function (elements) { var bool = true; for (var i = 0; i < elements.length; i++) { if ($(elements[i]).attr("sta") == 2) { bool = true; } else { bool = false; break; } } return bool; }}; JSF监听器怎么做? 求指点购物车的实现原理和相关疑问 Tomcat6.0无法启动 谁能给个思路?技术问题 用什么做权限模块比较好 请教如何用jsp动态生成柱状图和饼图? tomcat服务器怎么启用struts2 如何用javascript修改table单元格的背景色?马上给分! 想认个师傅!! 新手提问之六:大小写的问题?马上送分 现在的Struts2、Spring、Hibernate三个框架整合开发项目,什么版本比较稳定 quartz2.21+spring 无法动态暂停删除运行中的任务
validateFunction, {
regValidate: function () {
if ($("#mobileCodeDiv").attr("class") == 'item') {
$("#regName").jdValidate(validatePrompt.regName, validateFunction.regName, true);
$("#pwd").jdValidate(validatePrompt.pwd, validateFunction.pwd, true);
$("#pwdRepeat").jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat, true);
$("#mobileCode").jdValidate(validatePrompt.mobileCode, validateFunction.mobileCode, true);
return validateFunction.FORM_submit(["#regName", "#pwd", "#pwdRepeat", "#mobileCode"]);
} else {
$("#regName").jdValidate(validatePrompt.regName, validateFunction.regName, true);
$("#pwd").jdValidate(validatePrompt.pwd, validateFunction.pwd, true);
$("#pwdRepeat").jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat, true);
return validateFunction.FORM_submit(["#regName", "#pwd", "#pwdRepeat"]);
}
}
});
var isSubmit = false;
$("#pwd").bind("keyup",function () {
validateFunction.pwdstrength();
}).jdValidate(validatePrompt.pwd, validateFunction.pwd)
$("#pwdRepeat").jdValidate(validatePrompt.pwdRepeat, validateFunction.pwdRepeat);
$("#regName").jdValidate(validatePrompt.regName, validateFunction.regName);
$("#mobileCode").jdValidate(validatePrompt.mobileCode, validateFunction.mobileCode);function checkReadMe() {
if ($("#readme").attr("checked") == true) {
$("#protocol_error").removeClass().addClass("error hide");
return true;
} else {
$("#protocol_error").removeClass().addClass("error");
return false;
}
}function agreeonProtocol() {
if ($("#readme").attr("checked") == true) {
$("#protocol_error").removeClass().addClass("error hide");
return true;
}
}function protocolReg() {
$("#closeBox").click();
reg();
}function reg() {
if (isSubmit) {
return;
}
var agreeProtocol = checkReadMe();
var regNameok = validateRegName();
isSubmit = true; var passed = validateFunction.regValidate() && regNameok && agreeProtocol;
//pageTracker._trackEvent('Button', 'Regist', 'Normal');
if (passed) {
$("#registsubmit").attr({ "disabled": "disabled" }).removeClass().addClass("btn-img btn-regist wait-btn");
$.ajax({
type: "POST",
url: "../reg/regService?r=" + Math.random() + "&" + location.search.substring(1),
contentType: "application/x-www-form-urlencoded; charset=utf-8",
data: $("#personRegForm").serialize(),
success: function (result) {
if (result) {
var obj = eval(result);
if (obj.info) {
alert(obj.info);
verc();
$("#registsubmit").removeAttr("disabled").removeClass().addClass("btn-img btn-regist");
isSubmit = false;
return;
}
if (obj.noAuth) {
verc();
window.location = obj.noAuth;
return;
}
if (obj.success == true) {
window.location = obj.dispatchUrl;
}
}
}
});
} else {
$("#registsubmit").removeAttr("disabled").removeClass().addClass("btn-img btn-regist");
isSubmit = false;
}
}function popupReg() {
var agreeProtocol = checkReadMe();
var passed = validateRegName() && validateFunction.regValidate() && agreeProtocol;
if (passed) {
$("#popupRegButton").attr({ "disabled": "disabled" }).removeClass().addClass("btn-img btn-regist wait-btn");
$.ajax({
type: "POST",
url: "../reg/regService?r=" + Math.random(),
contentType: "application/x-www-form-urlencoded; charset=utf-8",
data: $("#popupPersonRegForm").serialize(),
success: function (result) {
if (result) {
var obj = eval(result);
if (obj.info) {
alert(obj.info);
verc();
$("#popupRegButton").removeAttr("disabled").removeClass().addClass("btn-img btn-regist");
return;
}
if (obj.noAuth) {
verc();
window.parent.location = obj.noAuth;
return;
}
if (obj.success == true) {
window.parent.jdModelCallCenter.init(true);
return;
}
}
}
});
} else {
$("#popupRegButton").removeAttr("disabled").removeClass().addClass("btn-img btn-regist");
}
}function popupContinueReg() {
$("#protocolContent").removeClass().addClass("regist-bor hide");
$("#popupPersonRegForm").show(); popupReg();
}function showProtocol() {
$("#popupPersonRegForm").hide();
$("#protocolContent").removeClass().addClass("regist-bor");}
//$("#authcode").bind('keyup', function (event) {
// if (event.keyCode == 13) {
// $("#registsubmit").click();
// }
//});
var validatePrompt = {
regName: {
onFocus: "请输入邮箱/用户名/手机号",
succeed: "",
isNull: "请输入邮箱/用户名/手机号",
error: {
beUsed: "该用户名已被使用,请重新输入或使用推荐用户名。如果您是"{1}",请立刻<a href='https://passport.jd.com/uc/login' class='flk13'>登录</a>",
badLength: "用户名长度只能在4-20位字符之间",
badFormat: "用户名只能由中文、英文、数字及“_”、“-”组成",
fullNumberName: "<span>用户名不能是纯数字,请确认输入的是手机号或者重新输入</span>"
},
onFocusExpand: function () {
$("#morePinDiv").removeClass().addClass("intelligent-error hide");
}
}, pwd: {
onFocus: "<span>6-20位字符,可使用字母、数字或符号的组合,不建议使用纯数字,纯字母,纯符号</span>",
succeed: "",
isNull: "请输入密码",
error: {
badLength: "密码长度只能在6-20位字符之间",
badFormat: "密码只能由英文、数字及标点符号组成",
simplePwd: "<span>该密码比较简单,有被盗风险,建议您更改为复杂密码,如字母+数字的组合</span>",
weakPwd: "<span>该密码比较简单,有被盗风险,建议您更改为复杂密码</span>"
},
onFocusExpand: function () {
$("#pwdstrength").hide();
}
},
pwdRepeat: {
onFocus: "请再次输入密码",
succeed: "",
isNull: "请输入密码",
error: {
badLength: "密码长度只能在6-20位字符之间",
badFormat2: "两次输入密码不一致",
badFormat1: "密码只能由英文、数字及标点符号组成"
}
},
mobileCode: {
onFocus: "",
succeed: "",
isNull: "请输入短信验证码",
error: "验证码错误"
},
protocol: {
onFocus: "",
succeed: "",
isNull: "请先阅读并同意《京东用户注册协议》",
error: ""
},
empty: {
onFocus: "",
succeed: "",
isNull: "",
error: ""
}
};
var validateFunction = {
regName: function (option) {
$("#intelligent-regName").empty().hide();
var regName = option.value;
if (validateRules.isNull(regName) || regName == '邮箱/用户名/手机号') {
option.element.removeClass(validateSettings.INPUT_style2).removeClass(validateSettings.INPUT_style1);
$("#regName_error").removeClass().empty();
return;
} if (regName.indexOf("@") > -1) {
$("#mobileCodeDiv").removeClass().addClass("item hide");
$("#authcodeDiv").show();
checkEmail(option);
return;
}
if (validateRules.isMobile(regName)) {
checkMobile(option);
return;
}
$("#mobileCodeDiv").removeClass().addClass("item hide");
$("#authcodeDiv").show();
checkPin(option);
}, pwd: function (option) {
var str1 = option.value;
var regName = $("#regName").val();
if ((validateRules.isNull(regName) == false) && (regName != '邮箱/用户名/手机号') && regName == str1) {
$("#pwdstrength").hide();
validateSettings.error.run(option, "<span>您的密码与账户信息太重合,有被盗风险,请换一个密码</span>");
return;
} var str2 = $("#pwdRepeat").val();
var format = validateRules.isPwd(option.value);
var length = validateRules.betweenLength(option.value, 6, 20); $("#pwdstrength").hide();
if (!length && format) {
validateSettings.error.run(option, option.prompts.error.badLength);
} else if (!length && !format) {
validateSettings.error.run(option, option.prompts.error.badFormat);
} else if (length && !format) {
validateSettings.error.run(option, option.prompts.error.badFormat);
} else if (validateRules.weakPwd(str1)) {
validateSettings.error.run(option, option.prompts.error.weakPwd);
} else { validateSettings.succeed.run(option);
validateFunction.pwdstrength();
if (validateRules.simplePwd(str1)) {
$("#pwd_error").removeClass().addClass("focus");
$("#pwd_error").empty().html(option.prompts.error.simplePwd);
return;
}
}
if (str2 == str1) {
$("#pwdRepeat").focus();
}
},
pwdRepeat: function (option) {
var str1 = option.value;
var str2 = $("#pwd").val();
var length = validateRules.betweenLength(option.value, 6, 20);
var format2 = validateRules.isPwdRepeat(str1, str2);
var format1 = validateRules.isPwd(str1);
if (!length) {
validateSettings.error.run(option, option.prompts.error.badLength);
} else {
if (!format1) {
validateSettings.error.run(option, option.prompts.error.badFormat1);
} else {
if (!format2) {
validateSettings.error.run(option, option.prompts.error.badFormat2);
}
else {
validateSettings.succeed.run(option);
}
}
}
}, mobileCode: function (option) {
var bool = validateRules.isNull(option.value);
if (bool) {
validateSettings.error.run(option, option.prompts.error);
return;
} else {
validateSettings.succeed.run(option);
}
},
protocol: function (option) {
if (option.element.attr("checked") == true) {
option.element.attr("sta", validateSettings.succeed.state);
option.errorEle.html("");
} else {
option.element.attr("sta", validateSettings.isNull.state);
option.succeedEle.removeClass(validateSettings.succeed.style);
}
},
pwdstrength: function () {
var element = $("#pwdstrength");
var value = $("#pwd").val();
if (value.length >= 6 && validateRules.isPwd(value)) {
$("#pwd_error").removeClass('focus');
$("#pwd_error").empty();
element.show();
var level = pwdLevel(value);
switch (level) {
case 1:
element.removeClass().addClass("strengthA");
break;
case 2:
element.removeClass().addClass("strengthB");
break;
case 3:
element.removeClass().addClass("strengthC");
break;
default:
break;
}
} else {
element.hide();
}
},
checkGroup: function (elements) {
for (var i = 0; i < elements.length; i++) {
if (elements[i].checked) {
return true;
}
}
return false;
},
checkSelectGroup: function (elements) {
for (var i = 0; i < elements.length; i++) {
if (elements[i].value == -1) {
return false;
}
}
return true;
}, FORM_submit: function (elements) {
var bool = true;
for (var i = 0; i < elements.length; i++) {
if ($(elements[i]).attr("sta") == 2) {
bool = true;
} else {
bool = false;
break;
}
} return bool;
}
};