/** * For signup.html */ $(function(){ // 回车键快捷操作 $("body").keypress(function(e) { var keyCode = e.keyCode ? e.keyCode : e.which ? e.which : e.charCode; if (keyCode == 13) { var g = $("#signupBtn").click(); return false; } }); $("#accountid").focus();//再自动聚焦账户输入框 }) //获取一个新的验证码 function getNewVerCode(){ $("#showvercode").attr("src","homeController/getNewVerCode.do?s="+(new Date()).getTime()); } //执行注册过程 function doSignUp(){ // 还原提示状态 $("#accountidbox,#accountpwdbox,#repaccountpwdbox").removeClass("has-error"); $("#alertbox").removeClass("show"); $("#alertbox").addClass("hidden"); var accountId = $("#accountid").val(); var accountPwd = $("#accountpwd").val(); var repAccountPwd = $("#repaccountpwd").val(); // 输入非空检查 if (accountId.length == 0) { $("#accountidbox").addClass("has-error"); $("#accountid").focus(); return; } if (accountPwd.length == 0) { $("#accountpwdbox").addClass("has-error"); $("#accountpwd").focus(); return; } if (repAccountPwd.length == 0) { $("#repaccountpwdbox").addClass("has-error"); $("#repaccountpwd").focus(); return; } // 确认密码检查 $("#accountid,#accountpwd,#repaccountpwd,#signupBtn,#vercode").attr('disabled', true); if (accountPwd+"" != repAccountPwd+"") { showAlert("提示:两次输入的新密码不一致,请检查确认"); $("#accountpwdbox").addClass("has-error"); $("#repaccountpwdbox").addClass("has-error"); return; } // 以加密方式发送修改密码请求 $.ajax({ url : 'homeController/getPublicKey.ajax', type : 'POST', data : {}, dataType : 'text', success : function(result) { // 获取公钥 var signup_publicKeyInfo=eval("("+result+")"); // 生成JSON对象格式的信息 var signUpInfo = '{account:"' + accountId + '",pwd:"' + accountPwd + '",time:"' + signup_publicKeyInfo.time + '"}'; var encrypt = new JSEncrypt();// 加密插件对象 encrypt.setPublicKey(signup_publicKeyInfo.publicKey);// 设置公钥 var encrypted = encrypt.encrypt(signUpInfo);// 进行加密 sendSignUpInfo(encrypted); }, error : function() { showAlert("提示:注册失败,请检查网络链接或服务器运行状态"); } }); } // 将加密数据发送至服务器并显示操作结果 function sendSignUpInfo(encrypted){ $.ajax({ type : "POST", dataType : "text", url : "homeController/doSigUp.ajax", data : { encrypted : encrypted, vercode : $("#vercode").val() }, success : function(result) { switch (result) { case "success": $("#accountidbox,#accountpwdbox,#repaccountpwdbox").removeClass("has-error"); window.location.href = "/home.html"; break; case "illegal": showAlert("提示:注册功能已被禁用,请求被拒绝"); break; case "accountexists": showAlert("提示:该账户名已存在,请使用其他账户名进行注册"); $("#accountidbox").addClass("has-error"); break; case "needvercode": $("#accountid,#accountpwd,#repaccountpwd,#signupBtn,#vercode").attr('disabled', false); $("#vercodebox").removeClass("hidden"); $("#vercodebox").addClass("show"); getNewVerCode(); break; case "invalidaccount": showAlert("提示:注册失败,账户名不合法。账户名的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。"); $("#accountidbox").addClass("has-error"); break; case "illegalaccount": showAlert("提示:注册失败,账户名中不得包含“=”或“:”,且首个字符不能为“#”。"); $("#accountidbox").addClass("has-error"); break; case "mustlogout": showAlert("提示:您已经登入了一个账户,请先注销后再执行本操作"); break; case "invalidpwd": showAlert("提示:注册失败,密码格式不正确。密码的长度需为3-32个字符,且仅支持ISO-8859-1中的字符(推荐使用英文字母、英文符号及阿拉伯数字)。"); $("#accountpwdbox").addClass("has-error"); $("#repaccountpwdbox").addClass("has-error"); break; case "error": showAlert("提示:注册失败,注册请求无法通过加密效验(可能是请求耗时过长导致的)"); break; case "hasescapes": showAlert("提示:注册失败,账户名或密码中不得包含“\\”。"); break; case "cannotsignup": showAlert("提示:注册失败,发生意外错误,请稍后重试或联系管理员"); break; default: showAlert("提示:注册失败,发生未知错误"); break; } }, error : function() { showAlert("提示:注册失败,请检查网络链接或服务器运行状态"); } }); } // 显示修改密码错误提示 function showAlert(txt) { $("#accountid,#accountpwd,#repaccountpwd,#signupBtn,#vercode").attr('disabled', false); $("#alertbox").removeClass("hidden"); $("#alertbox").addClass("show"); $("#alertbox").text(txt); }