/** * Ajax用户注册验证 JS * ============================================================================ * 这是一个免费开源的软件;这意味着您可以在不用于商业目的的前提下对程序代码 * 进行修改、使用和再发布。 * ============================================================================ * $Author: Sunday & luck $ * QQ: 346056372 * Download:http://www.codefans.net * $Date: 2008-03-13 16:15:00 +0800 $ */ //XMLHttpRequest var xmlhttp = false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e2) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { xmlhttp = new XMLHttpRequest(); } function Ajax(data){ xmlhttp.open("GET","../../../../application\default\controllers\AreaController.php?username="+document.getElementById("username").value,true); xmlhttp.send(null); document.getElementById('username_notice').innerHTML = process_request;//显示状态 xmlhttp.onreadystatechange=function(){ if (4==xmlhttp.readyState){ if (200==xmlhttp.status){ var responseText = xmlhttp.responseText; if (responseText=="true" ){ ck_user("true"); } else{ ck_user("false"); } }else{ alert("发生错误!"); } } } } function chkUserName(obj){ if (checks(obj.value)== false) { obj.className = "FrameDivWarn"; showInfo("username_notice",msg_un_format); change_submit("true"); } if(isNaN(obj.value)) { obj.className = "FrameDivWarn"; showInfo("username_notice",msg_un_number); change_submit("true"); } else if(obj.value.length<1){ obj.className = "FrameDivWarn"; showInfo("username_notice",msg_un_blank); change_submit("true"); } else{ //调用Ajax函数,向服务器端发送查询 Ajax(obj.value); } } //--------------用户名检测---------------------// function ck_user(result) { if ( result == "true" ) { document.getElementById('username').className = "FrameDivWarn"; showInfo("username_notice",msg_un_registered); change_submit("true");//禁用提交按钮 } else { document.getElementById('username').className = "FrameDivPass"; showInfo("username_notice",msg_can_rg); change_submit("false");//可用提交按钮 } } function checks(t){ szMsg="[#%&'\",;:=!^@]"; //alertStr=""; for(i=1;i-1){ //alertStr="请勿包含非法字符如[#_%&'\",;:=!^]"; return false; } } return true; } //-----------EMAIL检测--------------------------------// function checkEmail(email) { if (chekemail(email.value)==false) { email.className = "FrameDivWarn"; showInfo("email_notice",msg_email_format); change_submit("true"); } else { showInfo("email_notice",info_right); email.className = "FrameDivPass"; change_submit("false"); } } function chekemail(temail) { var pattern = /^[\w]{1}[\w\.\-_]*@[\w]{1}[\w\-_\.]*\.[\w]{2,4}$/i; if(pattern.test(temail)) { return true; } else { return false; } } //--------------------密码检测-----------------------------// function check_password( password ) { if ( password.value.length < 6 ) { showInfo("password_notice",password_shorter_s); password.className = "FrameDivWarn"; change_submit("true");//禁用提交按钮 } else if(password.value.length > 30){ showInfo("password_notice",password_shorter_m); password.className = "FrameDivWarn"; change_submit("true");//禁用提交按钮 } else { showInfo("password_notice",info_right); password.className = "FrameDivPass"; change_submit("false");//允许提交按钮 } } function check_conform_password( conform_password ) { password = document.getElementById('password').value; if ( conform_password.value.length < 6 ) { showInfo("conform_password_notice",password_shorter_s); conform_password.className = "FrameDivWarn"; change_submit("true");//禁用提交按 return false; } if ( conform_password.value!= password) { showInfo("conform_password_notice",confirm_password_invalid); conform_password.className = "FrameDivWarn"; change_submit("true");//禁用提交按 } else { conform_password.className = "FrameDivPass"; showInfo("conform_password_notice",info_right); change_submit("false");//允许提交按钮 } } //* *--------------------检测密码强度-----------------------------* *// function checkIntensity(pwd) { var Mcolor = "#FFF",Lcolor = "#FFF",Hcolor = "#FFF"; var m=0; var Modes = 0; for (i=0; i=48 && t <=57) { charType = 1; } else if (t>=65 && t <=90) { charType = 2; } else if (t>=97 && t <=122) charType = 4; else charType = 4; Modes |= charType; } for (i=0;i<4;i++) { if (Modes & 1) m++; Modes>>>=1; } if (pwd.length<=4) { m = 1; } switch(m) { case 1 : Lcolor = "2px solid red"; Mcolor = Hcolor = "2px solid #DADADA"; break; case 2 : Mcolor = "2px solid #f90"; Lcolor = Hcolor = "2px solid #DADADA"; break; case 3 : Hcolor = "2px solid #3c0"; Lcolor = Mcolor = "2px solid #DADADA"; break; case 4 : Hcolor = "2px solid #3c0"; Lcolor = Mcolor = "2px solid #DADADA"; break; default : Hcolor = Mcolor = Lcolor = ""; break; } document.getElementById("pwd_lower").style.borderBottom = Lcolor; document.getElementById("pwd_middle").style.borderBottom = Mcolor; document.getElementById("pwd_high").style.borderBottom = Hcolor; } //--------------注册协议复选框状态检测---------------------// function check_agreement(){ if (document.formUser.agreement.checked==false) { showInfo("agreement_notice",agreement); change_submit("true");//允许提交 } else { showInfo("agreement_notice",info_right); change_submit("false");//允许提交按 } } //-------------处理注册程序-----------------------------// function register() { if(document.formUser.username.value=="") { showclass("username","FrameDivWarn"); showInfo("username_notice",msg_un_blank); document.formUser.username.focus(); return false; } else if(document.formUser.email.value=="") { showclass("email","FrameDivWarn"); showInfo("email_notice",msg_email_blank); document.formUser.email.focus(); return false; } else if(document.formUser.password.value=="") { showclass("password","FrameDivWarn"); showInfo("password_notice",password_empty); document.formUser.password.focus(); return false; } else if(document.formUser.confirm_password.value=="") { showclass("confirm_password","FrameDivWarn"); showInfo("conform_password_notice",confirm_password_invalid); document.formUser.password.focus(); return false; } else if(document.formUser.agreement.checked==false) { //showclass("agreement","FrameDivWarn"); showInfo("agreement_notice",agreement); document.formUser.agreement.focus(); return false; } } //------------ 按钮状态设置-----------------------------// function change_submit(zt) { if (zt == "true") { document.forms['formUser'].elements['Submit1'].disabled = 'disabled'; } else { document.forms['formUser'].elements['Submit1'].disabled = ''; } } //------公用程序------------------------------------// function showInfo(target,Infos){ document.getElementById(target).innerHTML = Infos; } function showclass(target,Infos){ document.getElementById(target).className = Infos; } var process_request = "正在数据处理中..."; var username_empty = " × 用户名不能为空!"; var username_shorter = " × 用户名长度不能少于 3 个字符。"; var username_invalid = "- 用户名只能是由字母数字以及下划线组成。"; var password_empty = " × 登录密码不能为空。"; var password_shorter_s = " × 登录密码不能少于 6 个字符。"; var password_shorter_m = " × 登录密码不能多于 30 个字符。"; var confirm_password_invalid = " × 两次输入密码不一致!"; var email_empty = " × Email 为空"; var email_invalid = "- Email 不是合法的地址"; var agreement = " × 您没有接受协议"; var msn_invalid = "- msn地址不是一个有效的邮件地址"; var qq_invalid = "- QQ号码不是一个有效的号码"; var home_phone_invalid = "- 家庭电话不是一个有效号码"; var office_phone_invalid = "- 办公电话不是一个有效号码"; var mobile_phone_invalid = "- 手机号码不是一个有效号码"; var msg_un_blank = " × 用户名不能为空!"; var msg_un_length = " × 用户名最长不得超过15个字符"; var msg_un_format = " × 用户名含有非法字符!"; var msg_un_number = " × 观测点编号必须为数字!"; var msg_un_registered = " × 用户名已经存在,请重新输入!"; var msg_can_rg = " √ 可以注册!"; var msg_email_blank = " × 邮件地址不能为空!"; var msg_email_registered = " × 邮箱已存在,请重新输入!"; var msg_email_format = " × 邮件地址不合法!"; var username_exist = "用户名 %s 已经存在"; var info_can=" √ 可以注册!"; var info_right=" √ 填写正确!";