/* 问题: 1、注册的接口不完善 没有非窗体注册的函数 */ Namespace.register("U.U.R"); //用户注册的命名空间 // 用户名 密码 确认密码 验证码 后面2个都没有用 //用于判断用户是否已经在输入框中输入了正确的值。 U.U.R.TBA = [false, false, false, false, false, true]; //#region 用户注册信息判断 //#region 用户注册使用区域 //注册入口 U.U.R.PopRegister = function () { var _parent = $("#UD_SYC"); //登录注册框 _parent.Center(); //登录注册框居中 var _child = _parent.Child(); //获取登录注册找回密码的div _child[1].style.display = "block"; //显示注册框 _child[2].style.display = "none"; //隐藏注册 _child[3].style.display = "none"; //隐藏登录 $("div", _child[0])[2].innerHTML = "快速注册"; //头部设置内容 var _head = $(_child[0]).childg()[1]; $(_head).addAttrArray({ innerHTML: "已经有账号? 现在登录", title: "", "className": "UD_SYCOSPO" }); U.UI.Form({ title: "", max: false, min: false, id: "UD_SYC_Pop", content: _parent[0], style: { width: "360px", "height": "505px" }, hst: { style: { padding: "0"}} }); if (!$("#UD_SYCOCDZ&img")[0]) { //注册验证码区域 $$("img", { //生成验证码 "alt": "看不清?点击重获验证码", "src": "http://main.1473.cn/Uses.ashx?functionname=UseStudioManage.GraphicVerificationCode&n=" + Math.random(), "onclick": [ [U.U.R.GVCI, ["this"]] ] }, $("#UD_SYCOCDZ")[0]); } var _input = $("input", _child[1])[0]; _input.focus(); } //单击注册按钮后,首先判断是否已经阅读了云端协议,然后检查是否用户输入的信息是否全部合法。 U.U.R.SDLZC = function (button) { var _inputs = $("#UD_SYCOO").find("input"); //是否已经阅读了云端协议。 if (_inputs[3].checked) { if (U.U.R.ZCPDSZ(_inputs, $("#UD_SYC")[0])) { button.innerText = "注册中..."; } else { U.Alert("请正确的填写信息"); }; } //登录 else { U.Alert("请阅读云端协议"); } //必须阅读协议 } //注册判断设置 U.U.R.ZCPDSZ = function (inputs, loading) { var i, _UTF = true; //判断是否全部通过检测。包含账号,密码,验证码等 var _checked = U.U.R.TBA.indexOf(false); if (_checked == -1) { U.U.R.UR(inputs[0].value, inputs[1].value, "", loading); inputs.addAttrArray({ "value": "" }); for (i = 0; i < 3; i++) { inputs[i].onblur(); } } //允许注册 //判断是否通过了验证码 else if (_checked == 4) { //验证码错误和正确切换字体样式。 var _font = [{ "textAlign": "center", "marginRight": "0px" }, { "textAlign": "right", "marginRight": "15px", "color": "red"}]; U.U.R.CAC(inputs[2], _font, U.M.apply(this, [[U.U.R.ZCPDSZ, [inputs, loading]]])); } //邮箱验证 else { _UTF = !_UTF; } return _UTF; } //用户注册Ajax函数。 /** //外面用户可以直接调用U.U.R.Register(username,password),调用之前必须设置全局变量US.SystemId,测试用户U.U.R.Register=0.开发者账号需要进入授权系统进行授权 返回值: */ U.U.R.Register = U.U.R.UR = function (username, password, email, loading) { var i, _address = US.NLInfo.LogAddr || ""; U.U.R.TBA = [false, false, false, false, false, true]; U.A.Request(US.Auth, ["UserRegister", username, password, email, _address, US.SystemId, ""], U.U.R.AsynUR, [loading, _address]); //注册的同时执行登录 } //用户注册异步 // U.U.R.AsynUR = function (r, outsite) { var _URE = r.value; if (_URE == "notregister") { U.Alert("已经存在该账号!"); } else if (_URE == "false") { U.Alert("系统繁忙,请稍后。"); } //注册失败 else { //注册成功直接登录 U.U.L.AsynUlL(r, outsite); //第一次进入系统弹出个人设置 U.U.DKGEZL(); //写入用户来源信息,根据链接统计是哪一个推广人员推广的。 U.U.GZ.TGR(); return r; } //登录 } //注册回调 U.U.R.AsynSDLZC = function (UDOD, USE) { UDOD.innerText = "立即注册"; } //#endregion /* 判断用户名 这里包括登录所有的用户名的审核 是否通过等。此函数在cookie登录中不会调用。 参数一: 参数二:UDE为数组, 参数三: 返回值: */ U.U.R.CheckUsername = function (UDOD, UDE, UFT) { var _UN = UDOD.value; var _UDTD = $("i", $(UDOD).Parent()); U.U.R.TBA[0] = false; UDE = UDE || [{}, {}]; //_$(UDE).Add({ "display": "block" }); U.Ut.AddArr(UDE, { "display": "block" }); UDE[1].color = "red"; if (UDOD.value == "") { UDE[0].color = ""; U.U.R.UET(UDOD, [UDE[0], "用户账号"]); } //输入为空不做变化 else if (!U.MS.UserName.test(_UN)) { U.U.R.UET(UDOD, [UDE[1], "2-10汉字或4-20字符"]); } //注册的用户不符合要求 else if (!UFT) { U.U.R.UET(UDOD, [UDE[1], "等待认证,请稍后..."]); U.A.Request(US.Auth, ["CheckUserName", _UN], U.U.R.IRUN, ["", UDOD]); return true; } //用户注册 需要判断用户是否有重复的用户名 return false; } //判断用户名是否存在 U.U.R.IRUN = function (r) { var context = r.context, _UDOD = context[1]; r = r.value; if (r == "True") { U.U.R.UET(_UDOD, [{}, "已被注册!"]); } //无法注册 else { U.U.R.UET(_UDOD, [{ "display": "none"}]); U.U.R.TBA[0] = true; } //成功注册 } //判断密码 U.U.R.IRP = function (UDOD, UDE, UFT) { var _UTF = false; _UP = UDOD.value, _UDTD = $("i", $(UDOD).Parent()); UDE = UDE || [{}, {}]; U.Ut.AddObj(UDE, { "display": "block" }); if (_UP == "") { UDE[0].color = ""; U.U.R.UET(UDOD, [UDE[0], typeof UFT == "string" ? UFT : "6-20位字符或数字"]); } //无输入 else if (!U.MS.PassWord.test(_UP)) { UDE[1].color = "red"; U.U.R.UET(UDOD, [UDE[1], "6-20位字符或数字"]); } //特殊符号 else { if (!UFT) { U.U.R.PasswordStrength(UDOD); _UDTD.addAttrArray({ "style": UDE[1] }); } _UTF = !_UTF; } //密码正确输入 (!UFT) && (U.U.R.TBA[1] = _UTF); return _UTF; } //确认密码,以前函数,暂时没有用 U.U.R.RCFP = function (UDOD, UDTD, UDE, UFT) { var _UTF = false; _UP = UDOD.value, _UDTD = $("i", $(UDOD).Parent()); UDE = UDE || [{}, {}]; U.Ut.AddObj(UDE, { "display": "block" }); if (UDOD.value == "") { UDE[0].color = ""; U.U.R.UET(UDOD, [UDE[0], "6-20位字符或数字"]); } //确认密码为空 else if (UDOD.value != UDTD.value) { UDE[1].color = "red"; U.U.R.UET(UDOD, [UDE[1], "密码不一致"]); } //密码不一致 else { _UTF = true; }; (!UFT) && (U.U.R.TBA[2] = _UTF); return _UTF; //密码正确 } //获取验证码 U.U.R.GVCI = function (UDOD) { $(UDOD).parentg().find("img")[0].src = "http://main.1473.cn/Uses.ashx?mode=UseStudioManage.GraphicVerificationCode&n=" + Math.random(); } //输入验证吗判断 U.U.R.SRYZM = function (UDOD) { var _UME = UDOD.value, _UDE = !_UME ? [{ "textAlign": "center", "marginRight": "0px", "color": "#000" }, "验证码"] : U.MS.Number.test(_UME) ? "" : [{ "textAlign": "right", "marginRight": "10px", "color": "red" }, "格式错误"]; if (_UDE) { U.U.R.UET(UDOD, _UDE); } else if (!U.U.R.TBA[4]) { U.U.R.CAC(UDOD, [{ "textAlign": "right", "marginRight": "15px", "color": "#00aa99" }, { "textAlign": "right", "marginRight": "15px", "color": "red"}]); } } //验证码javascript U.U.R.CAC = function (input, UDE, cb) { var _UKE, _UM = input.value; //测试是否数字,如果不是,不用向后台发送请求 var _UTF = U.MS.Number.test(_UM); U.Ut.AddObj(UDE, { "display": "block" }); if (_UTF) { //向后端发验证码请求 U.A.Request(US.Auth, ["ConfirmGraphicVerificationCode", _UM], U.U.R.AsynAC, ["", input, UDE, cb]); _UKE = [UDE[1], "验证中..."]; } //判断验证码是否正确 else if (!_UTF && !_UM) { _UKE = UDE[0]; _UKE = [UDE[1], "格式错误"]; }; //设置验证码样式 U.U.R.UET(input, _UKE || [UDE[0], "验证码"]); //验证码 } //验证码异步 U.U.R.AsynAC = function (r) { var _UTF = false, context = r.context, _UDOD = context[1], _UDE = context[2], _UCB = context[3], _UDPD = $(_UDOD).Parent(3); r = r.value; if (r == "True") { _UDE[0].display = "none"; U.U.R.UET(_UDOD, [_UDE[0], "成功"]); _UTF = true; } else if (r == "False") { U.U.R.UET(_UDOD, [_UDE[1], "错误"]); } //验证码正确 else { _UDOD.value = ""; _UDOD.blur(); U.U.R.UET(_UDOD, [_UDE[0], "验证码"]); $("img", _UDPD)[0].src = "http://main.1473.cn/Uses.ashx?mode=UseStudioManage.GraphicVerificationCode&n=" + Math.random(); _UDOD.focus(); U.Alert("验证码错误或者服务器繁忙"); } //重新生成验证码 U.U.R.TBA[4] = _UTF; if (_UCB && _UTF) { _UCB(_UDPD) } else { U.U.R.AsynSDLZC($("#UD_SYCOD")[0]); } //设置回调 } //判断邮箱 U.U.R.RUE = function (UDOD) { var _UEM = UDOD.value; U.U.R.TBA[3] = false; if (_UEM == "") { $("i", UDOD.parentNode)[0].style.display = "block"; } else if (!U.MS.Email.test(_UEM)) { U.U.R.UET(UDOD, [{}, "邮箱格式错误"]); } //验证码格式错误 else { U.A.Request(US.Auth, ["CheckEmail", _UEM], U.U.R.AsynRUE, ["", UDOD]); } } //判断邮箱的异步 U.U.R.AsynRUE = function (r) { var context = r.context, _UDOD = context[1]; r = r.value; if (r) { U.U.R.TBA[3] = true; U.U.R.UET(_UDOD, [{ "display": "none"}]); } //成功设置 else { U.U.R.UET(_UDOD, [{}, "已经有人有过该邮箱"]); } //邮箱有人用 } //判断手机是否正确 U.U.R.UPhone = function () { } U.U.R.AsynUPhone = function () { } //隐藏提示框 U.U.R.DTT = function (UDOD, UTF) { var _UDPD = $(UDOD).Parent(), _UDID = $("input", _UDPD)[0]; if (_UDID.offsetWidth) { (UTF !== true) && (_UDID.focus()); $("i", _UDPD)[0].style.display = "none"; } } //显示提示框 U.U.R.BTT = function (UDOD) { // $(UDOD).parentg().find("i").addAttrArray({ "style": { "display": "block"} }); } //设置样式 U.U.R.UET = function (input, arr) { //找input输入框的父亲元素 var _parent = $(input).Parent(); //指定的元素里面找孩子元素为i的元素 var _el = $("i", _parent); arr[0].display = "block"; _el.addAttrArray({ "style": arr[0] || {}, "innerHTML": arr[1] || "" }, 0)[0]; } U.U.R.PasswordStrength = function (input) { var i = 0; var _UNR = ""; var _UV = input.value; var _URE = [["弱", "#e64141"], ["中", "#0a8cd2"], ["强", "#4bb900"]]; if (_UV.length > 10) { //_UNR += ">10位"; i++; } //含数字 if (_UV.match(/[0-9]/ig)) { //_UNR += ((i ? "," : "") + "只包含数字"); i++; } //含字符 if (_UV.match(/[a-z]/ig)) { //_UNR += ((i ? "," : "") + "只包含字符"); i++; } i = i - 1 > -1 ? i - 1 : i; //找input输入框的父亲元素 var _parent = $(input).Parent(); //指定的元素里面找孩子元素为i的元素 var _el = $("i", _parent); _el.addAttrArray({ "style": { "display": "block", "color": _URE[i][1] }, "innerHTML": _URE[i][0] }, 0); //设置密码样式 } //注册最终判断是否允许注册 //U.U.R.RC = function () { // return U.U.R.TBA.indexOf(false); //} //#endregion