密码验证

这是一个关于密码验证的实现,包括手机号和邮箱的格式检查、验证码发送、RSA加密及密码强度验证。当用户点击按钮时,会触发相应验证并发送验证码。如果验证失败,将显示错误信息。成功后,密码通过RSA加密并提交注册请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


$(function(){

$("button[name='btnPhone']").click(function(){
var time = 120;
    var phone = $.trim($('#phone').val());
if(phone=='' || phone.length<=0){
$("#phoneMsg").html("请填写手机号码");
return false;
}
var reg = /^0?(13[0-9]|15[0-9]|18[0-9]|14[57]|17[0-9])[0-9]{8}$/;
if(!phone.match(reg)){
$("#phoneMsg").html("手机号码格式不对");
return false;
}
$.post('/api/user/sendCode.do?userTemp.name='+phone, function(data) {
if(data != null && data.code==1){
$("#phoneMsg").html(data.detailMsg);//错误消息
}else if(data.data != null && data.code==0){
$('#getCodeButtonId').attr("disabled",true);
timeDown(time);
}
});
return false;
});

$("button[name='btnEmail']").click(function(){
var time = 120;
var email  = $("#email").val();
if(email=='' || email.length<=0){
$("#emailMsg").html("请填写邮箱");
return false;
}
var reg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/;
    if(!email.match(reg)){
    $("#emailMsg").html("邮箱格式不正确");
return false;
}
$.post('/api/user/sendCode.do?userTemp.name='+email, function(data) {
if(data != null && data.code==1){
$("#emailMsg").html(data.detailMsg);//错误消息
}else if(data.data != null && data.code==0){
$('#getCodeEmail').attr("disabled",true);
timeEmail(time);
}
});
return false;
});

var modulus = $("#modulus").val();
var exponent = $("#exponent").val();
var key = RSAUtils.getKeyPair(exponent,'', modulus);

//手机号码注册
$("#phoneReg").click(function(){
$("#phoneMsg").html("");
var phone = $("#phone").val();
var phonePass=$("#phonePw1").val();
if(phone=='' || phone.length<=0){
$("#phoneMsg").html("请填写手机号码");
return false;
}
var reg = /^0?(13[0-9]|15[0-9]|18[0-9]|14[57]|17[0-9])[0-9]{8}$/;
if(!phone.match(reg)){
$("#phoneMsg").html("手机号码格式不对");
return false;
}
var phoneCode = $("#phoneCode").val();
if(phoneCode=='' || phoneCode.length<=0){
$("#phoneMsg").html("请填写短信验证码");
return false;
}
var phonePw1 = $("#phonePw1").val();
if(phonePw1=='' || phonePw1.length<=0){
$("#phoneMsg").html("请填写密码");
return false;
}
var phonePw2 = $("#phonePw2").val();
if(phonePw2=='' || phonePw2.length<=0){
$("#phoneMsg").html("请确认密码");
return false;
}
if(phonePw1 != phonePw2){
$("#phoneMsg").html("两次输入的密码要一致");
return false;
}
// 6~20位字符,至少包含数字.字母.符号中的2种 _ja
var passreg2=/(?!^[0-9]+$)(?!^[A-z]+$)(?!^[^A-z0-9]+$)^.{6,20}$/;


if(!passreg2.test(phonePass)){
$("#phoneMsg").text("密码:请输入6-20位字符,字母、数字任意2种以上组合");
return false;
};
phonePw1 = RSAUtils.encryptedString(key,encodeURIComponent(phonePw1));
$.post("/web/user/submitReg.do?userTemp.name="+phone+"&checkCode="+phoneCode+"&user.password="+phonePw1+"&",function(data){
if(data != null && data.code == 0){//成功
$("#phoneMsg").html(data.detailMsg);
}else{
$("#phoneMsg").html(data.detailMsg);
}
});
});

$("#emailReg").click(function(){
$("#emailMsg").html("");
var email = $("#email").val().trim();
var emailPass = $("#pw1").val().trim();
if(email == ''){
$("#emailMsg").html(global_data['login_input_email']);
return false;
}
var reg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/;
if(!email.match(reg)){
$("#emailMsg").html("邮箱格式不正确");
return false;
}
var emailCode = $("#emailCode").val();
if(emailCode=='' || emailCode.length<=0){
$("#emailMsg").html("请填写邮箱验证码");
return false;
}
var pw1 = $("#pw1").val();
if(pw1=='' || pw1.length<=0){
$("#emailMsg").html("请填写密码");
return false;
}
var pw2 = $("#pw2").val();
if(pw2=='' || pw2.length<=0){
$("#emailMsg").html("请确认密码");
return false;
}
if(pw1 != pw2){
$("#emailMsg").html("两次输入的密码要一致");
return false;
}
// 6~20位字符,至少包含数字.字母.符号中的2种 _ja
var passreg2=/(?!^[0-9]+$)(?!^[A-z]+$)(?!^[^A-z0-9]+$)^.{6,20}$/;


if(!passreg2.test(emailPass)){
$("#emailMsg").text("密码:请输入6-20位字符,字母、数字任意2种以上组合");
return false;
};
pw1 = RSAUtils.encryptedString(key,encodeURIComponent(pw1));
$.post("/web/user/submitReg.do?userTemp.name="+email+"&checkCode="+emailCode+"&user.password="+pw1+"&",function(data){
if(data != null && data.code == 0){//成功
$("#emailMsg").html(data.detailMsg);
}else{
$("#emailMsg").html(data.detailMsg);
}
});
});
})


//时间倒计时 time为有效时间(秒)
function timeDown(time){
    $('#getCodeButtonId').text(time+' '+global_data['google_tw_min_get']);//秒后重新获取
    $('#getCodeButtonId').parent().attr("class","col-sm-5");
if(time==0){
$('#getCodeButtonId').attr("disabled",false);
        $('#getCodeButtonId').text("获取验证码");//获取免费验证码
}else{
time--;
setTimeout("timeDown(" + time + ")",1000);
}
}
//时间倒计时 time为有效时间(秒)
function timeEmail(time){
    $('#getCodeEmail').text(time+' '+global_data['google_tw_min_get']);//秒后重新获取
    $('#getCodeEmail').parent().attr("class","col-sm-5");
if(time==0){
$('#getCodeEmail').attr("disabled",false);
        $('#getCodeEmail').text("获取验证码");//获取免费验证码
}else{
time--;
setTimeout("timeEmail(" + time + ")",1000);
}
}

//确认两次输入的密码是否一致
function checkPhonePw2(){
var phonePw1 = $("#phonePw1").val();
var phonePw2 = $("#phonePw2").val();
if(phonePw1 != phonePw2){
$("#phoneMsg").html("两次输入的密码要一致");
$("#phonePw2").val("");
return false;
}
}
function checkPw1(){
var phonePw1 = $("#pw1").val();
var phonePw2 = $("#pw2").val();
if(phonePw1 != phonePw2){
$("#emailMsg").html("两次输入的密码要一致");
$("#pw2").val("");
return false;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值