加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax注册验证

发布时间:2020-12-15 22:02:36 所属栏目:百科 来源:网络整理
导读:reg.html(注册页面) html head meta http-equiv="Content-Type" content="text/html; charset=utf-8" titleajax用户验证/title link href="style.css" rel="stylesheet" type="text/css" script language="JavaScript" type="text/javascript" src="from_ck.

reg.html(注册页面)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>ajax用户验证</title>
<link href="style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" type="text/javascript" src="from_ck.js">
</script>
</head>
<body>
<div id="reg">
<h1>Ajax用户注册验证</h1>
<FORM name="formUser" onSubmit="return register();" action=user.php
method=post>
<BR>
<TABLE width="100%" align=center border=0>
<TBODY>
<TR>
<TD align=right width="15%"><STRONG>用户名:</STRONG></TD>
<TD width="57%"><INPUT id="username" onBlur="chkUserName(this)"
name="username">
<SPAN id="username_notice" >*</SPAN></TD>
</TR>
<TR>
<TD align=right><STRONG>email:</STRONG></TD>
<TD><INPUT id="email" onBlur="checkEmail(this)" name="email">
<SPAN id=email_notice >*</SPAN></TD>
</TR>
<TR>
<TD align=right><STRONG>密码:</STRONG></TD>
<TD><INPUT id="password" onBlur="check_password(this)"
onkeyup="checkIntensity(this.value)" type="password" name="password">
<SPAN
id=password_notice >*</SPAN></TD>
</TR>
<TR>
<TD align=right><STRONG>密码强度:</STRONG></TD>
<TD><TABLE cellSpacing=0 cellPadding=1 width=145 border=0>
<TBODY>
<TR align=middle>
<TD id=pwd_lower width="33%">弱</TD>
<TD id=pwd_middle width="33%">中</TD>
<TD id=pwd_high width="33%">强</TD>
</TR>
</TBODY>
</TABLE></TD>
</TR>
<TR>
<TD align=right><STRONG>确认密码:</STRONG></TD>
<TD><INPUT id="conform_password" onBlur="check_conform_password(this)"
type="password" name="confirm_password">
<SPAN id=conform_password_notice >*</SPAN></TD>
</TR>
<TR>
<TD align=right><STRONG>MSN:</STRONG></TD>
<TD><INPUT name=other[msn]> </TD>
</TR>
<TR>
<TD align=right><STRONG>QQ:</STRONG></TD>
<TD><INPUT name=other[qq]> </TD>
</TR>
<TR>
<TD align=right><STRONG>办公电话:</STRONG></TD>
<TD><INPUT name=other[office_phone]> </TD>
</TR>
<TR>
<TD align=right><STRONG>家庭电话:</STRONG></TD>
<TD><INPUT name=other[home_phone]> </TD>
</TR>
<TR>
<TD align=right><STRONG>手机:</STRONG></TD>
<TD><INPUT name=other[mobile_phone]> </TD>
</TR>
<TR>
<TD>&nbsp;</TD>
<TD><LABEL>
<INPUT type="checkbox" CHECKED value="1" name="agreement" onBlur="check_agreement(this)">
<B>我已看过并接受《<a href="#">用户协议</a>》<SPAN id=agreement_notice >*</SPAN></B></LABEL></TD>
</TR>
<TR>
<TD ><INPUT type=hidden value=act_register name=act></TD>
<TD ><input type=submit value=确认注册&nbsp;&nbsp;&nbsp; name="Submit1" class="anniu" disabled></TD>
</TR>
<TR>
<TD colSpan=2>&nbsp;</TD>
</TR>
</TBODY>
</TABLE>
</FORM>
</div>
</body>
</html>

from_ck.js(AJAX验证)


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","user_ck.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");
}
else if(obj.value.length<1){
obj.className = "FrameDivWarn";
showInfo("username_notice",msg_un_blank);
change_submit("true");
}

else if(obj.value.length<3){
obj.className = "FrameDivWarn";
showInfo("username_notice",username_shorter);
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<szMsg.length+1;i++){
if(t.indexOf(szMsg.substring(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<pwd.length; i++)
{
var charType = 0;
var t = pwd.charCodeAt(i);
if (t>=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 = "<img src='loading.gif' width='16' height='16' border='0' align='absmiddle'>正在数据处理中..."; var username_empty = "<span style='COLOR:#ff0000'> × 用户名不能为空!</span>"; var username_shorter = "<span style='COLOR:#ff0000'> × 用户名长度不能少于 3 个字符。</span>"; var username_invalid = "- 用户名只能是由字母数字以及下划线组成。"; var password_empty = "<span style='COLOR:#ff0000'> × 登录密码不能为空。</span>"; var password_shorter_s = "<span style='COLOR:#ff0000'> × 登录密码不能少于 6 个字符。</span>"; var password_shorter_m = "<span style='COLOR:#ff0000'> × 登录密码不能多于 30 个字符。</span>"; var confirm_password_invalid = "<span style='COLOR:#ff0000'> × 两次输入密码不一致!</span>"; var email_empty = "<span style='COLOR:#ff0000'> × Email 为空</span>"; var email_invalid = "- Email 不是合法的地址"; var agreement = "<span style='COLOR:#ff0000'> × 您没有接受协议</span>"; var msn_invalid = "- msn地址不是一个有效的邮件地址"; var qq_invalid = "- QQ号码不是一个有效的号码"; var home_phone_invalid = "- 家庭电话不是一个有效号码"; var office_phone_invalid = "- 办公电话不是一个有效号码"; var mobile_phone_invalid = "- 手机号码不是一个有效号码"; var msg_un_blank = "<span style='COLOR:#ff0000'> × 用户名不能为空!</span>"; var msg_un_length = "<span style='COLOR:#ff0000'> × 用户名最长不得超过15个字符</span>"; var msg_un_format = "<span style='COLOR:#ff0000'> × 用户名含有非法字符!</span>"; var msg_un_registered = "<span style='COLOR:#ff0000'> × 用户名已经存在,请重新输入!</span>"; var msg_can_rg = "<span style='COLOR:#006600'> √ 可以注册!</span>"; var msg_email_blank = "<span style='COLOR:#ff0000'> × 邮件地址不能为空!</span>"; var msg_email_registered = " × 邮箱已存在,请重新输入!"; var msg_email_format = "<span style='COLOR:#ff0000'> × 邮件地址不合法!</span>"; var username_exist = "用户名 %s 已经存在"; var info_can="<span style='COLOR:#006600'> √ 可以注册!</span>"; var info_right="<span style='COLOR:#006600'> √ 填写正确!</span>";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读