程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> [教程+分享]具有良好體驗度的Web注冊系統

[教程+分享]具有良好體驗度的Web注冊系統

編輯:關於ASP編程

*項目名稱:具有良好體驗度的Web注冊系統
*作者:草履蟲
*聯系:[email protected]
*
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="gb2312"> 
  <head>
    <meta http-equiv="Content-Type" c />
    <title>草履蟲---簡易AJAX注冊頁面</title>
<link href="reg.css" type="text/css" rel="stylesheet" />
<script src="detect.js" type="text/javascript"></script>
<script src="ajax.js" type="text/javascript"></script>
  </head>
  <body >
   <ul>
  <li id="title">草履蟲---Web注冊系統</li>
  <li class="underline">
   <label>注冊用戶名:
    <input type="text" maxlength="16" />
   </label>
   <span>支持漢字,單詞,數字,敏感字符屏蔽</span>
  </li>
  <li>
   <label>注冊密碼:
    <input type="password"  />
   </label>
   <span>密碼在6-16位之間,敏感字符屏蔽</span>
  </li>
  <li class="underline">
   <label>重復密碼:
    <input type="password" maxlength="16" />
   </label>
   <span></span>
  </li>
  <li class="underline">
   <label>郵箱:
    <input type="text" />
   </label>
   <span>email是聯系重要手段</span>
  </li>
  <li class="underline">驗證碼:
   <input type="text" maxlength="5" />
   <label>
    <img src="getcode.asp" id="src" height="18" alt="看不清楚?請點擊刷新" />
    <span>看不清楚?請點擊驗證碼刷新</span>
   </label>
  </li>
  <li class="underline">
   相關協議:
    <label ><input type="radio" name="info"/>接受</label>
    <label ><input type="radio" name="info"/>不接受</label> 
    <input type="button" value="閱讀協議" class="button" />
  </li>
  <li class="underline">
   <input type="submit" value="注冊" class="button setleft" />
   <input type="reset" value="重置" class="button"  />
   <span></span>
  </li>
  <li class="copyright">作者:草履蟲</li>
  <li class="copyright">
2.數據合法性檢測detect.js 
復制代碼 代碼如下:
var flag=[0,0,0,0,0,0];
  var $=function(tagName){
   return document.getElementsByTagName(tagName);
  }
//----------接受協議
  function accept_info(){
   flag[0]=1;
   check_data();
  }
//----------拒絕協議
  function refuse_info(){
   flag[0]=0;
   check_data();
  }
//----------重置
  function reset_info(){
   var info=["支持漢字,單詞,數字,敏感字符屏蔽","密碼在6-16位之間,敏感字符屏蔽","","email是聯系重要手段","看不清楚?請點擊驗證碼刷新"]
   for(var i=0;i<$("span").length;i++){
    $("span").innerHTML=info;
    flag=0;
   }
   for(var i=0;i<$("input").length-3;i++){
    $("input").value="";
   }
   check_data();
  }
//----------郵箱檢測
  function check_email(email){
   var reEmail=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
   var b_email=reEmail.test(email);
   if(b_email){
    $("span")[3].innerHTML="<img src='yesok.gif'/> 郵箱可用";
    flag[1]=1;
    check_data();
   }
   else{
    $("span")[3].innerHTML="<img src='yesno.gif'/> 郵箱錯誤";
    flag[1]=0;
    check_data();
   }
  }
//----------密碼檢測
  function check_password(obj){
   var pwd=$("input")[1].value;
   var reChinese=/[\u0391-\uFFE5]+/;
   var b_chinese=reChinese.test(pwd);
   var reSpace=/\s+/;
   var b_space=reSpace.test(pwd);
   //-------長度測試
   if(pwd.length<6){
    $("span")[1].innerHTML="<img src='yesno.gif'/> 密碼長度不能小於6";
    flag[2]=0;
    check_data();
   }
   //-------合法性檢測:不能包含漢字
   else if(b_chinese){
    $("span")[1].innerHTML="<img src='yesno.gif'/> 密碼不能包含中文";
    flag[2]=0;
    check_data();
   }
   //-------合法性檢測:不能包含空格
   else if(b_space){
    $("span")[1].innerHTML="<img src='yesno.gif'/> 密碼不能包含空格";
    flag[2]=0;
    check_data();
   }
   //-------合法時顯示密碼強度
   else{
    //定義對應的消息提示
    var num=getResult(pwd);
    var msg=new Array("<img src='bad.gif'/> 密碼強度差","<img src='comm.gif'/> 密碼強度一般","<img src='good.gif'/> 密碼強度強壯");
    $("span")[1].innerHTML=msg[num];
    if($("input")[2].value!=""){
     check_pw();
     }
    return flag[2]=1;
    check_data();
    }
   }
   //定義檢測函數,返回0/1/2分別代表差/一般/強
   function getResult(s){
    var ls =-1;
    if (s.match(/[a-z]/ig)){
     ls++;
    }
    if (s.match(/[0-9]/ig)){
     ls++;
    }
     if (s.match(/(.[^a-z0-9])/ig)){
     ls++;
    }
    return ls;
   }
  //---------密碼一致性檢測 
   function check_pw(){
    var pwd=$("input")[1].value.toString();
    var check_pwd=$("input")[2].value.toString();
    if(flag[2]==1){
     if(pwd==check_pwd){
      $("span")[2].innerHTML="<img src='yesok.gif'/> 密碼可以使用";
      flag[3]=1;
      check_data();
     }
     else{
      $("span")[2].innerHTML="<img src='yesno.gif'/> 兩次密碼不相同";
      flag[3]=0;
      check_data();
     }
    }
   }
  //---------用戶名合法性檢測
   function check_id(id_name){//只能字母和數字,是否相同用AJAX判斷
    var reId=/^[\w\u0391-\uFFE5]+$/;
    var b_id=reId.test(id_name);
    if(!b_id){
     $("span")[0].innerHTML="<img src='yesno.gif'/> ID命名非法";
     flag[4]=0;
     check_data();
    }
    else{//合法用戶名用ajax的checkid()檢測是否被注冊過
     checkid(id_name);
    }
   }
  //---------檢查數據,使提交按鈕是否生效
   function check_data(){
    if(flag[0]==1 && flag[1]==1 && flag[2]==1 && flag[3]==1 && flag[4]==1 && flag[5]==1){
     $("input")[8].disabled=false;
    }
    else{
     $("input")[8].disabled=true;
    }
   }

//--------------------------------------------------------------------

3.關於ajax數據交互ajax.js 
復制代碼 代碼如下:
function checkcode(regcode){ 
var xmlhttp;
try{
  xmlhttp=new XMLHttpRequest();
  }
catch(e){
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4){
  if (xmlhttp.status==200){
   var data=xmlhttp.responseText;
   code_result(data);
   }
  else{
   $("span")[4].innerHTML="驗證碼校驗失敗,請聯系管理員";
   }
  }
else{
  $("span")[4].innerHTML="正在進行驗證碼校驗...";
  }
}
xmlhttp.open("post", "check_code.asp", true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send("regcode="+escape(regcode));
}
function code_result(data){
var resultbox=$("span")[4];
if(data==1){
  resultbox.innerHTML='<img src="yesok.gif"/> 驗證碼正確';
  flag[5]=1;
  check_data();
  }
else{
  resultbox.innerHTML='<img src="yesno.gif"/> 驗證碼錯誤';
  flag[5]=0;
  check_data();
  }
}

//--------------------------------------------------------------------
function checkid(regid){ 
var xmlhttp;
try{
  xmlhttp=new XMLHttpRequest();
  }
catch(e){
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4){
  if (xmlhttp.status==200){
   var data=xmlhttp.responseText;
   id_result(data);
   }
  else{
   $("span")[0].innerHTML="用戶名檢測失敗,請聯系管理員";
   }
  }
else{
  $("span")[0].innerHTML="正在進行用戶名校驗...";
  }
}
xmlhttp.open("post", "check_id.asp", true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send("regid="+escape(regid));
}
function id_result(data){
var resultbox=$("span")[0];
if(data==1){
  resultbox.innerHTML='<img src="yesok.gif"/> 用戶名可用';
  flag[4]=1;
  check_data();
  }
else{
  resultbox.innerHTML='<img src="yesno.gif"/> 該用戶名已經被注冊';
  flag[4]=0;
  check_data();
}
}
//--------------------------------------------------------------------
function sendinfo(regname,pwd,email){
var xmlhttp;
try{
  xmlhttp=new XMLHttpRequest();
  }
catch(e){
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4){
  if (xmlhttp.status==200){
   var data=xmlhttp.responseText;
   reg_result(data);
   }
  else{
   $("span")[5].innerHTML="注冊失敗,請聯系管理員";
   }
  }
else{
  $("span")[5].innerHTML="正在進行用戶名注冊...";
  }
}
xmlhttp.open("post", "reg.asp", true);
xmlhttp.setRequestHeader('Content-type','application/x-www-form-urlencoded');
xmlhttp.send("regname="+escape(regname)+"&pwd="+escape(pwd)+"&email="+escape(email));
}
function reg_result(data){
if(data==1){
  $("span")[5].innerHTML='<a href="http://cceer.xmu.edu.cn/blog/" target="_blank">'+$("input")[0].value+",您好.請點擊這裡登陸</a>";
  }
else{
  $("span")[5].innerHTML="注冊失敗,請聯系管理員";
}
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved