UNPKG

dzxstatic

Version:

The static files of Discuz! X

1 lines 7.2 kB
var lastusername="",lastpassword="",lastemail="",lastinvitecode="",stmp=new Array,modifypwd=!1,profileTips="如不需要更改密码,此处请留空";function errormessage(e,a){if($(e)){try{showInputTip()}catch(e){}a=a||"",$("tip_"+e)&&("succeed"==a?(a="",$("tip_"+e).parentNode.className=$("tip_"+e).parentNode.className.replace(/ p_right/,""),$("tip_"+e).parentNode.className+=" p_right"):""!==a&&($("tip_"+e).parentNode.className=$("tip_"+e).parentNode.className.replace(/ p_right/,""))),$("chk_"+e)&&($("chk_"+e).innerHTML=a),$(e).className=$(e).className.replace(/ er/,""),$(e).className+=a?" er":""}}function addFormEvent(e,a){var n=0,t=$(e).getElementsByTagName("input");for(i=0;i<t.length;i++)""==t[i].name&&(t[i].name=t[i].id,stmp[n]=i,n++),"text"!=t[i].type&&"password"!=t[i].type||(t[i].onfocus=function(){showInputTip(this.id?this.id:this.name)});if(n){t[stmp[0]].onblur=function(){checkusername(t[stmp[0]].id)},checkPwdComplexity(t[stmp[1]],t[stmp[2]]);try{ignoreEmail||addMailEvent(t[stmp[3]])}catch(e){}try{a?$("invitecode").focus():t[stmp[0]].focus()}catch(e){}}}function checkPwdComplexity(e,a,i){modifypwd=i||!1,e.onblur=function(){if(""==e.value){var i=modifypwd?profileTips:"请填写密码";pwlength>0&&(i+=", 最小长度为 "+pwlength+" 个字符"),errormessage(e.id,i)}else errormessage(e.id,modifypwd?"":"succeed");checkpassword(e.id,a.id)},e.onkeyup=function(){if(0==pwlength||$(e.id).value.length>=pwlength){var a=new Array("","弱","中","强"),i=checkstrongpw(e.id);errormessage(e.id,'<span class="passlevel passlevel'+i+'">密码强度:'+a[i]+"</span>")}},a.onblur=function(){""==a.value&&errormessage(a.id,modifypwd?profileTips:"请再次输入密码"),checkpassword(e.id,a.id)}}function addMailEvent(e){e.onclick=function(a){emailMenu(a,e.id)},e.onkeyup=function(a){emailMenu(a,e.id)},e.onkeydown=function(a){emailMenuOp(4,a,e.id)},e.onblur=function(){""==e.value&&errormessage(e.id,"请输入邮箱地址"),emailMenuOp(3,null,e.id)},stmp.email=e.id}function checkstrongpw(e){var a=0;return $(e).value.match(/\d+/g)&&a++,$(e).value.match(/[a-z]+/gi)&&a++,$(e).value.match(/[^a-z0-9]+/gi)&&a++,a}function showInputTip(e){var a=$("registerform").getElementsByTagName("i");for(i=0;i<a.length;i++)"p_tip"==a[i].className&&(a[i].style.display="none");$("tip_"+e)&&($("tip_"+e).style.display="block")}function showbirthday(){var e=$("birthday"),a=e.value;e.length=0,e.options.add(new Option("日",""));for(var i=0;i<28;i++)e.options.add(new Option(i+1,i+1));if("2"!=$("birthmonth").value)switch(e.options.add(new Option(29,29)),e.options.add(new Option(30,30)),$("birthmonth").value){case"1":case"3":case"5":case"7":case"8":case"10":case"12":e.options.add(new Option(31,31))}else if(""!=$("birthyear").value){var n=$("birthyear").value;(n%400==0||n%4==0&&n%100!=0)&&e.options.add(new Option(29,29))}e.value=a}function trim(e){return e.replace(/^\s*(.*?)[\s\n]*$/g,"$1")}var emailMenuST=null,emailMenui=0,emaildomains=["qq.com","163.com","sina.com","sohu.com","yahoo.com","gmail.com","hotmail.com"];function emailMenuOp(e,a,n){if(3==e&&BROWSER.ie&&BROWSER.ie<7&&checkemail(n),$("emailmore_menu"))if(1==e)$("emailmore_menu").style.display="none";else if(2==e)showMenu({ctrlid:"emailmore",pos:"13!"});else if(3==e)emailMenuST=setTimeout((function(){emailMenuOp(1,n),checkemail(n)}),500);else if(4==e){a=a||window.event;var t=$(n);13==a.keyCode&&-1==t.value.indexOf("@")&&(t.value=t.value+"@"+emaildomains[emailMenui],doane(a))}else if(5==e){var r=$("emailmore_menu").getElementsByTagName("a");for(i=0;i<r.length;i++)r[i].className=""}}function emailMenu(e,a){if(!(BROWSER.ie&&BROWSER.ie<7)){e=e||window.event;var i=$(a);if(-1==i.value.indexOf("@")){var n=e.keyCode,t=i.value;if(i.value.length){if(40==n)++emailMenui>=emaildomains.length&&(emailMenui=0);else if(38==n)--emailMenui<0&&(emailMenui=emaildomains.length-1);else if(13==n)return void($("emailmore_menu").style.display="none");$("emailmore_menu")||(menu=document.createElement("div"),menu.id="emailmore_menu",menu.style.display="none",menu.className="p_pop",menu.setAttribute("disautofocus",!0),$("append_parent").appendChild(menu));for(var r="<ul>",s=0;s<emaildomains.length;s++)r+='<li><a href="javascript:;" onmouseover="emailMenuOp(5)" '+(emailMenui==s?'class="a" ':"")+"onclick=\"$(stmp['email']).value=this.innerHTML;display('emailmore_menu');checkemail(stmp['email']);\">"+t+"@"+emaildomains[s]+"</a></li>";r+="</ul>",$("emailmore_menu").innerHTML=r,emailMenuOp(2)}else emailMenuOp(1)}else $("emailmore_menu").style.display="none"}}function checksubmit(){var e=$("registerform").getElementsByTagName("kbd");for(i=0;i<e.length;i++)"p_chk"==e[i].className&&(e[i].innerHTML="");ajaxpost("registerform","returnmessage4","returnmessage4","onerror")}function checkusername(e){errormessage(e);var a=trim($(e).value);if(!$("tip_"+e).parentNode.className.match(/ p_right/)||""!=a&&a!=lastusername)if(lastusername=a,a.match(/<|>|"|\(|\)|'/gi))errormessage(e,"用户名包含敏感字符");else{var i=a.replace(/[^\x00-\xff]/g,"**").length;if(i<3||i>15)errormessage(e,i<3?"用户名不得小于 3 个字符":"用户名不得超过 15 个字符");else{var n=new Ajax;$("tip_"+e).parentNode.className=$("tip_"+e).parentNode.className.replace(/ p_right/,""),n.get("forum.php?mod=ajax&inajax=yes&infloat=register&handlekey=register&ajaxmenu=1&action=checkusername&username="+(BROWSER.ie&&"utf-8"==document.charset?encodeURIComponent(a):a.replace(/%/g,"%25").replace(/#/g,"%23")),(function(a){errormessage(e,a)}))}}}function checkpassword(e,a){if($(e).value||$(a).value)if(pwlength>0&&$(e).value.length<pwlength)errormessage(e,"密码太短,不得少于 "+pwlength+" 个字符");else{if(strongpw){var i=!1,n=0,t=new Array;for(var r in strongpw)1!==strongpw[r]||$(e).value.match(/\d+/g)||(i=!0,t[n]="数字",n++),2!==strongpw[r]||$(e).value.match(/[a-z]+/g)||(i=!0,t[n]="小写字母",n++),3!==strongpw[r]||$(e).value.match(/[A-Z]+/g)||(i=!0,t[n]="大写字母",n++),4!==strongpw[r]||$(e).value.match(/[^A-Za-z0-9]+/g)||(i=!0,t[n]="特殊符号",n++);if(i)return void errormessage(e,"密码太弱,密码中必须包含 "+t.join(","))}errormessage(a),$(e).value!=$(a).value?errormessage(a,"两次输入的密码不一致"):errormessage(a,modifypwd?"":"succeed")}}function checkemail(e){errormessage(e);var a=trim($(e).value);if(!$(e).parentNode.className.match(/ p_right/)||""!=a&&a!=lastemail)if(lastemail=a,a.match(/<|"/gi))errormessage(e,"Email 包含敏感字符");else{var i=new Ajax;$("tip_"+e).parentNode.className=$("tip_"+e).parentNode.className.replace(/ p_right/,""),i.get("forum.php?mod=ajax&inajax=yes&infloat=register&handlekey=register&ajaxmenu=1&action=checkemail&email="+a,(function(a){errormessage(e,a)}))}}function checkinvite(){errormessage("invitecode");var e=trim($("invitecode").value);if(""!=e&&e!=lastinvitecode)if(lastinvitecode=e,e.match(/<|"/gi))errormessage("invitecode","邀请码包含敏感字符");else{var a=new Ajax;$("tip_invitecode").parentNode.className=$("tip_invitecode").parentNode.className.replace(/ p_right/,""),a.get("forum.php?mod=ajax&inajax=yes&infloat=register&handlekey=register&ajaxmenu=1&action=checkinvitecode&invitecode="+e,(function(e){errormessage("invitecode",e)}))}}