//注册页面 define(["knockout"],function(ko){ return function(context){ var me = this; var countdown; me.validateCode = ko.observable(""); me.validateCodeSrc = ko.observable(""); me.password = ko.observable(""); me.confirm = ko.observable(""); me.phone = ko.observable(""); me.verificationcode = ko.observable(""); me.downPassWord = function(){ $("#showDownPassWord").addClass("firstdown"); } me.downConfirm = function(){ $("#showDownConfirm").addClass("firstdown"); } me.downPhone = function(){ $("#showDownPhone").addClass("firstdown"); } me.vaildPassWordFlag = ko.observable(false); me.vaildPassWord = function(data){ var psw =me.password(); var reg =/(^\s+)|(\s+$)/g; //校验是否有空格 if(reg.test(psw)||util.isVal(psw)=="" || util.isVal(psw).length<6 || util.isVal(psw).search(/^(([a-zA-Z]+[0-9]+)|([0-9]+[a-zA-Z]+))[a-zA-Z0-9]*$/i)==-1 || util.isVal(psw).length>12){ $("#vaildPassWord").html("密码由6-12位数字和字母同时组成"); me.vaildPassWordFlag = ko.observable(false); }else{ $("#vaildPassWord").html("密码可用!"); me.vaildPassWordFlag = ko.observable(true); } } me.vaildConfirmFlag = ko.observable(false); me.vaildConfirm = function(data){ if(util.isVal(me.confirm())==""||me.password()!=me.confirm()){ $("#vaildConfirm").html("两次输入的密码不一致!"); me.vaildConfirmFlag = ko.observable(false); }else{ $("#vaildConfirm").html("两次输入的密码一致!"); me.vaildConfirmFlag = ko.observable(true); } } me.vaildPhoneFlag = ko.observable(false); me.vaildPhone = function(data){ if(!util.isMobile(me.phone())){ $("#vaildPhone").html("手机号码不可用!"); me.vaildPhoneFlag = ko.observable(false); }else{ $("#vaildPhone").html("格式正确!"); me.vaildPhoneFlag = ko.observable(true); } } me.getValidateCode = function(val){ if(!util.isMobile(me.phone())){ $("#vaildPhone").html("手机号码不可用!"); return false; } else { util.sendAjax({ url:'open/sendVerificationCode/two', data:{mobile:me.phone(),validateCode:me.validateCode()}, async:true, loadFlag:true, type:'GET', cache:false, success:function(json){ if(json.rc==0){ addCookie("secondsremained",60,60);//添加cookie记录,有效时间60s settime(); }else{ layer.msg("验证码验证失败:"+json.rc+"错误信息:"+json.msg); } } }); } } //校验验证码 me.downCode = function(){ // $("#showCode").removeClass("lastdown"); } me.validateCodeFlag = ko.observable(false); me.validateCodeFun = function(data){ $("#showCode").addClass("lastdown"); if(util.isVal(me.validateCode())==""){ $("#").html("
验证码不能为空
"); me.validateCodeFlag(false); }else{ var sendData = {}; sendData["validateCode"] = me.validateCode(); util.sendAjax({ url:'open/checkValidateCode', data:JSON.stringify(sendData), async:false, loadFlag:true, type:'POST', cache:false, success:function(json){ if(json.rc==0){ me.validateCodeFlag(true); $("#verificationCode").show(); $("#testCode").html(""); }else{ var msg = json.msg; me.validateCodeFlag(false); $("#verificationCode").hide(); $("#testCode").html("
"+msg+"
"); } } }); //me.validateCodeFlag(true); } } //刷新验证码 me.rechangeVilidate = function(){ $('#validateCode').attr('src','/oa-web/api/v1/open/validateCodeNew?_='+new Date().getTime()); $("#validateCodeDiv").html("请输入验证码
"); $("#testCode").html(""); me.validateCodeFlag(false); } function settime(){ countdown=getCookieValue("secondsremained"); if($("#verificationCode").attr('class') == 'btn time' && countdown==0){ $("#verificationCode").removeClass(); $("#verificationCode").addClass("btn"); $("#verificationCode").attr("disabled",false); $("#verificationCode").val("重新发送验证码"); $("#phone").attr("disabled",false); editCookie("secondsremained",countdown,countdown+1); }else{ $("#phone").attr("disabled","disabled"); $("#verificationCode").attr("disabled","disabled"); addCookie("secondsremained",60,60);//添加cookie记录,有效时间60s $("#verificationCode").addClass("time"); $("#verificationCode").val(countdown); countdown-- editCookie("secondsremained",countdown,countdown+1); setTimeout(function() { settime(); },1000) } } me.next = function(){ me.vaildPassWord(); me.vaildConfirm(); me.vaildPhone(); if(me.vaildPassWordFlag()&&me.vaildConfirmFlag()&&me.vaildPhoneFlag()){ if(util.isVal(me.verificationcode())==""){ layer.msg("请填写验证码"); } else { var sendData = {}; sendData["mobile"] = me.phone(); sendData["key"] = me.verificationcode(); sendData["password"] = me.password(); util.sendAjax({ url:'open/registerAccount', data:JSON.stringify(sendData), async:true, loadFlag:true, type:'POST', cache:false, success:function(json){ if(json.rc==0){ window.location.href="index.html#/personal/account"; }else{ layer.msg("验证码验证失败:"+json.rc+"错误信息:"+json.msg); } } }); } } } $(function(){ var v; v = getCookieValue("secondsremained");//获取cookie值 if(v>0){ settime($("#verificationCode"));//开始倒计时 } me.validateCodeSrc("/oa-web/api/v1/open/validateCodeNew?_="+new Date().getTime()); }) context.app.loading(false); } //发送验证码时添加cookie function addCookie(name,value,expiresHours){ var cookieString=name+"="+escape(value); //判断是否设置过期时间,0代表关闭浏览器时失效 if(expiresHours>0){ var date=new Date(); date.setTime(date.getTime()+expiresHours*1000); cookieString=cookieString+";expires=" + date.toUTCString(); } document.cookie=cookieString; } //根据名字获取cookie的值 function getCookieValue(name){ var strCookie=document.cookie; var arrCookie=strCookie.split("; "); for(var i=0;i