会员注册验证代码(php+mysql+Ajax)

 更新时间:2016年11月25日 16:28  点击:1508
会员注册验证代码(php+mysql+Ajax)

会员注册验证代码(php教程+mysql教程+ajax)
<!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link href="images/css教程.css" rel="stylesheet" type="text/css" />
<title>会员注册验证代码(php+mysql+ajax)</title>
<script language="网页特效" src="网页特效/common.网页特效"></script>
<script language="网页特效" src="js/prototype.js"></script>
<script language="javascript" src="js/passwordstrength.js"></script>
<script language="javascript">
 var icon = '';
 var ns = ["usr","pwd","repwd","eml"];
 function changeusr(){
  if($("checkbtn").disabled) $("checkbtn").disabled = false;  
 }
 function checkusr(s){  
  var ma = ["用户名(4-16位)!","用户名由数字、英文、下划线、中杠线组成!"];
  if(!limitlen(s,4,16)){
   showinfo("usr",ma[0]);
   return false;
  }
  if(!hasaccountchar(s)){
   showinfo("usr",ma[1]);
   return false;
  }
  showinfo("usr");
  return true;
 }
 function checkpwd(s){
  var ma = ["密码(6-16位)!","密码不能包含中文或全角符号!","两次输入的密码不一致!"];
  ps教程.update(s);
  if(!limitlen(s,6,16)){
   showinfo("pwd",ma[0]);
   return false;
  }
  if(haschinesechar(s)){
   showinfo("pwd",ma[1]);
   return false;
  }
  if(limitlen($f("repwdinput"),6,16)){
   if(trim($f("repwdinput")) == trim(s)){
    showinfo("pwd");
    showinfo("repwd");
    return true;
   }else{
    showinfo("pwd",ma[2]);
    return false;
   }
  }
  showinfo("pwd");
  return true;
 }
 function checkpwd2(s){
  var ma = ["确认密码(6-16位)!","密码不能包含中文或全角符号!","两次输入的密码不一致!"];
  if(!limitlen(s,6,16)){
   showinfo("repwd",ma[0]);
   return false;
  }
  if(haschinesechar(s)){
   showinfo("repwd",ma[1]);
   return false;
  }
  if(limitlen($f("pwdinput"),6,16)){
   if(trim($f("pwdinput")) == trim(s)){
    showinfo("pwd");
    showinfo("repwd");
    return true;
   }else{
    showinfo("repwd",ma[2]);
    return false;
   }
  }
  showinfo("repwd");
  return true;
 }
 function checkeml(s){
  var ma = ["请输入常用邮件!","邮件格式不正确!"];
  if(s.length < 5){
   showinfo("eml",ma[0]);
   return false;
  }
  if(!isemail(s)){
   showinfo("eml",ma[1]);
   return false;
  }
  showinfo("eml");
  return true;
 }
 function showinfo(n,s){
  var fdo = $(n+"framediv");
  var ido = $(n+"infodiv");
  if(typeof s == 'undefined'){
   fdo.classname = "framedivpass";
   ido.innerhtml = "<img src=images/duihao.jpg>";
  }else{
   fdo.classname = "framedivwarn";
   ido.innerhtml = icon + s;
  }
 }
 //======================================================;
 function loadcheck(){
  if(trim($f('usrinput')).length == 0) return;
  $("checkbtn").disabled = true;
  var o = $("checkdiv");
  o.innerhtml = getloadinfo(); 
  loadajaxdata("reg.php",{usr:$f('usrinput')},successcheck,errorcheck);
  
 }
 function successcheck(v){
  var o = $("checkdiv");
  o.innerhtml = getcheckhtml(v.responsetext);
 }
 function errorcheck(){
  $("checkbtn").disabled = false;
  var o = $("checkdiv");
  o.innerhtml = geterrorinfo();
 }
 function getcheckhtml(s){
  s = (s == "1")? "恭喜您,用户名可以注册!":"对不起,该用户名已经被注册!";
  return s;
   }
 //======================================================;
 function getloadinfo(){
  return '正在加载数据...';
 }
 function geterrorinfo(){
  return '数据加载失败!';
 }
 //======================================================;
 function initpage(){
  for(var i=0;i<ns.length;i++){
   $(ns[i]+"input").value = "";
  }
 }
 function checksignup() {
if ( document.formsignup.reauthnum.value == '' ) {
window.alert('请输入认证码!!');
document.formsignup.reauthnum.focus();
return false;
}
return true;
}
function isallow_jewellry(){
        if(document.formsignup.agree.checked == false){
            document.formsignup.submit.disabled = true;
            }else if(document.formsignup.agree.checked == true){
            document.formsignup.submit.disabled = false;
            }
        }

</script>
</head>

<body class="statusbar" onload="initpage();">
<table width="100%" class="wn_login_01">
  <tr>
    <td></td>
  </tr>
</table>
<table width="100%">
  <tr>
    <td height="24"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td height="97" class="hyzc-4"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td height="22" class="hyzc-5"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="28"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td class="hyzc-8">请注册会员,只有会员才能发表贴子,游客可以回贴和使用快捷回复功能!</td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="25"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="420"><font class="hyzc-1-1">提示:</font><font class="hyzc-9">如果您已经注册了会员,请跳过此步骤,直接点这里</font></td>
    <td width="248"><form id="form1" name="form1" method="post" action="">
      <input type="image" name="imagefield" src="images/hyzc-3.jpg" />
    </form>
    </td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="18"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="30"></td>
    <td width="653" height="1" class="hyzc-1-2"></td>
    <td width="30"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="18"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<form id="form2" name="formsignup" method="post" action="" >
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="130"><font class="hyzc-1-1">填写登录名和密码</font>&nbsp;&nbsp;<font class="hyzc-6">*</font></td>
    <td width="85" align="right">登录名:</td>
    <td class="hyzc-1-5">
    <span class="framedivnormal" id="usrframediv">
    <input type="text" name="usrinput" id="usrinput" class="hyzc-1-3" onkeyup="checkusr(this.value);changeusr();" onfocus="checkusr(this.value);">&nbsp;&nbsp;<span id="usrinfodiv" class="hyzc-6"></span></span>
    </td>
    <td width="4" class="hyzc-7"></td>
  <tr><tr height=30><td class="hyzc-7"></td><td></td><td></td><td></td><td valign=bottom>&nbsp;&nbsp;<input name="checkbtn" type="button" id="checkbtn" onclick="loadcheck();" value="检测用户名是否可用">&nbsp;&nbsp;&nbsp;<span id="checkdiv"></span></td><td class="hyzc-7"></td></tr>
</table>
<table width="721" border="0" align="center"><tr><td width="4" class="hyzc-7"></td><td width="713" height="8"></td><td width="4" class="hyzc-7"></td></table>

<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="165"></td>
    <td width="10"><font class="hyzc-6">*</font></td>
    <td width="90" align="right">输入登录密码:&nbsp;</td>
    <td><span class="framedivnormal" id="pwdframediv"> <input name="pwdinput" type="password" id="pwdinput" maxlength="16" onkeyup="checkpwd(this.value);" onfocus="checkpwd(this.value);" class="hyzc-1-3">&nbsp;&nbsp;<span id="pwdinfodiv" class="hyzc-6"></span>
      </span>
      </td>
    <td width="4" class="hyzc-7"></td>
  </tr>     
  <tr height=30><td class="hyzc-7"></td><td></td><td></td><td></td><td><script language="javascript">
  var ps = new passwordstrength();
  ps.setsize("200","22");
 </script></td><td class="hyzc-7"></td></tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="5"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="165"></td>
    <td width="10"><font class="hyzc-6">*</font></td>
    <td width="90" align="right">再次输入密码:&nbsp;</td>
    <td >
    <span class="framedivnormal" id="repwdframediv"><input name="repwdinput" type="password" id="repwdinput" maxlength="16" onkeyup="checkpwd2(this.value);" onfocus="checkpwd2(this.value);" class="hyzc-1-3">&nbsp;&nbsp;
    <span id="repwdinfodiv" class="hyzc-6"></span>
    </span>
    </td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="5"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>

<table width="721" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="30"></td>
    <td width="653" height="1" class="hyzc-1-2"></td>
    <td width="30"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="20"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"><font class="hyzc-1-1">填写个人资料信息</font></td>
    <td width="10"><font class="hyzc-6">*</font></td>
    <td width="90" align="right">邮箱:&nbsp;</td>
    <td><span class="framedivnormal" id="emlframediv"><input name="emlinput" type="text" id="emlinput" onfocus="checkeml(this.value);" onkeyup="checkeml(this.value);" maxlength="40" class="hyzc-1-3">&nbsp;&nbsp;
    <span id="emlinfodiv" class="hyzc-6"></span>
    </span>
    </td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="5"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"></td>
    <td width="10"></td>
    <td width="85" align="right">性别:</td>
    <td width="175" class="hyzc-1-5"><input name="radiobutton" type="radio" value="radiobutton" checked="checked" />
    男<input type="radio" name="radiobutton" value="radiobutton" />
    女</td>
    <td width="270"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="15"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"></td>
    <td width="10"></td>
    <td width="85" align="right">出生日期:</td>
    <td width="225" class="hyzc-1-5">
      <select name="select">
   <option value="1">1900</option>
   <option value="1">2009</option>
      </select>年
   <select name="select">
   <option value="1">01</option>
   <option value="1">02</option>
   <option value="1">03</option>
   <option value="1">04</option>
   <option value="1">05</option>
   <option value="1">06</option>
   <option value="1">07</option>
   <option value="1">08</option>
   <option value="1">09</option>
   <option value="1">10</option>
   <option value="1">11</option>
   <option value="1">12</option>
      </select>月
   <select name="select">
   <option value="1">01</option>
   <option value="2">02</option>
   <option value="3">03</option>
   <option value="4">04</option>
   <option value="5">05</option>
   <option value="6">06</option>
   <option value="7">07</option>
   <option value="8">08</option>
   <option value="9">09</option>
   <option value="10">10</option>
   <option value="11">11</option>
   <option value="12">12</option>
   <option value="13">13</option>
   <option value="14">14</option>
   <option value="15">15</option>
   <option value="16">16</option>
   <option value="17">17</option>
   <option value="18">18</option>
   <option value="19">19</option>
   <option value="20">20</option>
   <option value="21">21</option>
   <option value="22">22</option>
   <option value="23">23</option>
   <option value="24">24</option>
   <option value="25">25</option>
   <option value="26">26</option>
   <option value="27">27</option>
   <option value="28">28</option>
   <option value="29">29</option>
   <option value="30">30</option>
   <option value="31">31</option>
    </select>日    </td>
    <td width="220"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="15"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"></td>
    <td width="10"><font class="hyzc-6">*</font></td>
    <td width="85" align="right">验证码:</td>
    <td width="112" class="hyzc-1-5">
      <input type="text" name="reauthnum" class="hyzc-1-6" />    </td>
    <td width="74"><img src="images/authimg.png"></td>
    <td width="262"><a href="#" class="hyzc-3">看不清图片</a></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="20"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="30"></td>
    <td width="653" height="1" class="hyzc-1-2"></td>
    <td width="30"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="20"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="120"></td>
    <td width="15"><font class="hyzc-6">*</font></td>
    <td width="30"><input name="agree" type="checkbox" class="hyzc-1-7" value="1" checked="checked" onclick="isallow_jewellry()"/></td>
    <td width="503">我已经看过并同意<a href="#" class="hyzc-1-8">《人民在线论坛网络服务使用协议》</a></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="15"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="110"></td>
    <td width="558"><textarea name="textarea" class="hyzc-1-9" readonly="readonly">
</textarea></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="40"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="45"></td>
    <td width="240"></td>
    <td><input type="submit" name="submit" value="提交确认" tabindex="1" onclick='javascript:return checksignup()'></td>
    <td width="4" class="hyzc-7"></td>

  </tr>
</table>
<table width="721" border="0" align="center">
  <tr>
    <td width="4" class="hyzc-7"></td>
    <td width="713" height="40"></td>
    <td width="4" class="hyzc-7"></td>
  </tr>
</table>
<table width="721" align="center">
  <tr>
    <td class="wn_login_02_06"></td>
  </tr>
</table>
</form>
</body>
</html>

下面为js文件代码
<script language="javascript" >
//js/common.js
//引用js/css文件;
function include(path,type,title){
 var s,i,t;
 if(arguments.length < 1){
  return ;
 }
 if(arguments.length == 1){
  type = "js";
 }
 switch(type.tolowercase()){
  case "css":
    t = document.getelementsbytagname("link");
    for(i=0;i<t.length;i++){
     if(t[i].href && t[i].href.indexof(path)!=-1){
      return;
     }
    }
    s=document.createelement("link");
    s.rel="alternate stylesheet";
    s.type="text/css";
    s.href=path;
    s.title=title;
    s.disabled=false;
    break;
  case "js":
  case "javascript":
  default:
    t = document.getelementsbytagname("script");
    for(i=0;i<t.length;i++){
     if(t[i].src && t[i].src.indexof(path)!=-1){
      return;
     }
    }
    s=document.createelement("script");
    s.type="text/javascript";
    s.src=path;
   break;
 }
 var h=document.getelementsbytagname("head")[0];
 h.appendchild(s);
}
//字符处理;
//去左右空格;
function trim(s){
  return rtrim(ltrim(s));
}
//去左空格;
function ltrim(s){
  return s.replace( /^s*/, "");
}
//去右空格;
function rtrim(s){
  return s.replace( /s*$/, "");
}
//验证信息;
//空字符值;
function isempty(s){
 s = trim(s);
 return s.length == 0;
}
//email;
function isemail(s){
 s = trim(s);
  var p = /^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.){1,4}[a-z]{2,3}$/i;
  return p.test(s);
}
//数字;
function isnumber(s){
 return !isnan(s);
}
//颜色值;
function iscolor(s){
 s = trim(s);
 if (s.length !=7) return false;
 return s.search(/#[a-fa-f0-9]{6}/) != -1;
}
//手机号码;
function ismobile(s){
 s = trim(s);
 var p = /13d{9}/;
 return p.test(s);
}
//身份证;
function iscard(s){
 s = trim(s);
 var p = /^d{15}(d{2}[xx0-9])?$/;
 return p.test(s);
}
//url;
function isurl(s){
 s = trim(s).tolowercase();
 var p = /^http://[a-za-z0-9]+.[a-za-z0-9]+[/=?%-&_~`@[]':+!]*([^<>""])*$/;
 return p.test(s);
}
//phone;
function isphone(s){
 s = trim(s);
 var p = /^(((d{3}))|(d{3}-))?((0d{2,3})|0d{2,3}-)?[1-9]d{6,7}$/;
 return p.test(s);
}
//zip;
function iszip(s){
 s = trim(s);
 var p = /^[1-9]d{5}$/;
 return p.test(s);
}
//double;
function isdouble(s){
 s = trim(s);
 var p = /^[-+]?d+(.d+)?$/;
 return p.test(s);
}
//integer;
function isinteger(s){
 s = trim(s);
 var p = /^[-+]?d+$/;
 return p.test(s);
}
//english;
function isenglish(s){
 s = trim(s);
 var p = /^[a-za-z]+$/;
 return p.test(s);
}
//中文;
function ischinese(s){
 s = trim(s);
 var p = /^[u0391-uffe5]+$/;
 return p.test(s);
}
//双字节
function isdoublechar(s){
 var p = /^[^x00-xff]+$/;
 return p.test(s);
}
//含有中文字符
function haschinesechar(s){
 var p = /[^x00-xff]/;
 return p.test(s);
}
function hasaccountchar(s){
 var p = /^[a-za-z0-9][a-za-z0-9_-]{0,15}$/;
 return p.test(s);
}
function limitlen(s,min,max){
 s=trim(s);
 if(s=="") return false;
 if((s.length<min)||(s.length>max))
  return false;
 else
  return true;
}
//功能;
//延时事件;
function setdeferevent(type,action,time){
 if (trim(time).length == 0) time = 1;
 if (typeof(time)!="number") time = 1;
 
 switch(type.tolowercase()){
  case "go":
   window.settimeout("window.location='"+ action +"'",time);
   break;
  case "alert":
   window.settimeout("alert('"+ action +"')",time);
   break;
  case "js":
  case "javascript":
   window.settimeout("'"+ action.tostring() +"'",time);
   break;
  default:
   alert("nothing will do!");
   break
 }  
}
function addloadlistener(handler){
 if (typeof window.addeventlistener != 'undefined')
  window.addeventlistener('load', handler, false);
 else if (typeof document.addeventlistener != 'undefined')
  document.addeventlistener('load', handler, false);
 else if (typeof window.attachevent != 'undefined')
  window.attachevent('onload', handler);
};
function addeventlistener(element, eventtype, handler, capture)
{
 try
 {
  if (element.addeventlistener)
   element.addeventlistener(eventtype, handler, capture);
  else if (element.attachevent)
   element.attachevent("on" + eventtype, handler);
 }
 catch (e) {}
};

function removeeventlistener(element, eventtype, handler, capture)
{
 try
 {
  if (element.removeeventlistener)
   element.removeeventlistener(eventtype, handler, capture);
  else if (element.detachevent)
   element.detachevent("on" + eventtype, handler);
 }
 catch (e) {}
};
//image;
function preloadimages(){
 var d = document;
 if(d.images){
  if(!d.p_i_a) d.p_i_a = new array();
  var i,j=d.p_i_a.length,a=arguments;
  for(i=0;i<a.length;i++){
   d.p_i_a[j]= new image();
   d.p_i_a[j++].src = a[i];
  }
 }
}
//ajax功能;
function loadajaxelement(e,u,p,f,l){
 if(arguments.length < 3){
  return ;
 }
 o = $(e);
 o.innerhtml = l;
 p = $h(p).toquerystring();
 new ajax.updater(     
                    {success: e},
                    u,
                    {method: 'get', parameters: p, onfailure: f});
}
function loadajaxdata(u,p,s,f){
 if(arguments.length < 3){
  return ;
 }
 p = $h(p).toquerystring();
 new ajax.request(     
                    u,
                    {method: 'get', parameters: p, onsuccess:s,onfailure: f});
}
function sendajaxelement(e,u,p,f,l){
 if(arguments.length < 3){
  return ;
 }
 o = $(e);
 o.innerhtml = l;
 p = $h(p).toquerystring();
 new ajax.updater(     
                    {success: e},
                    u,
                    {method: 'post', parameters: p, onfailure: f});
}
function sendajaxdata(u,p,s,f){
 if(arguments.length < 3){
  return ;
 }
 p = $h(p).toquerystring();
 new ajax.request(     
                    u,
                    {method: 'post', parameters: p, onsuccess:s,onfailure: f});
}
</script>

<script language="javascript" >
//js/prototype.js
/*
这个文章你可以到jquery官网去下载哦。或到
http://www.111cn.net/js/prototype.js 下载
*/
</script>
<script language="javascript" >
//js/passwordstrength.js
//密码强度;
function passwordstrength(showed){ 
 this.showed = (typeof(showed) == "boolean")?showed:true;
 this.styles = new array(); 
 this.styles[0] = {backgroundcolor:"#ebebeb",borderleft:"solid 1px #ffffff",borderright:"solid 1px #bebebe",borderbottom:"solid 1px #bebebe"}; 
 this.styles[1] = {backgroundcolor:"#ff4545",borderleft:"solid 1px #ffffff",borderright:"solid 1px #bb2b2b",borderbottom:"solid 1px #bb2b2b"};
 this.styles[2] = {backgroundcolor:"#ffd35e",borderleft:"solid 1px #ffffff",borderright:"solid 1px #e9ae10",borderbottom:"solid 1px #e9ae10"};
 this.styles[3] = {backgroundcolor:"#95eb81",borderleft:"solid 1px #ffffff",borderright:"solid 1px #3bbc1b",borderbottom:"solid 1px #3bbc1b"};
 
 this.labels= ["弱","中","强"];

 this.divname = "pwd_div_"+math.ceil(math.random()*100000);
 this.minlen = 6;
 
 this.width = "150px";
 this.height = "16px";
 
 this.content = "";
 
 this.selectedindex = 0;
 
 this.init(); 
}
passwordstrength.prototype.init = function(){
 var s = '<table cellpadding="0" id="'+this.divname+'_table" cellspacing="0" style="width:'+this.width+';height:'+this.height+';">';
 s += '<tr>';
 for(var i=0;i<3;i++){
  s += '<td id="'+this.divname+'_td_'+i+'" width="33%" align="center"><span style="font-size:1px">&nbsp;</span><span id="'+this.divname+'_label_'+i+'" style="display:none;font-family: courier new, courier, mono;font-size: 12px;color: #000000;">'+this.labels[i]+'</span></td>';
 } 
 s += '</tr>';
 s += '</table>';
 this.content = s;
 if(this.showed){
  document.write(s);
  this.copytostyle(this.selectedindex);
 } 
}
passwordstrength.prototype.copytoobject = function(o1,o2){
 for(var i in o1){
  o2[i] = o1[i];
 }
}
passwordstrength.prototype.copytostyle = function(id){
 this.selectedindex = id;
 for(var i=0;i<3;i++){
  if(i == id-1){
   this.$(this.divname+"_label_"+i).style.display = "inline";
  }else{
   this.$(this.divname+"_label_"+i).style.display = "none";
  }
 }
 for(var i=0;i<id;i++){
  this.copytoobject(this.styles[id],this.$(this.divname+"_td_"+i).style);   
 }
 for(;i<3;i++){
  this.copytoobject(this.styles[0],this.$(this.divname+"_td_"+i).style);
 }
}
passwordstrength.prototype.$ = function(s){
 return document.getelementbyid(s);
}
passwordstrength.prototype.setsize = function(w,h){
 this.width = w;
 this.height = h;
}
passwordstrength.prototype.setminlength = function(n){
 if(isnan(n)){
  return ;
 }
 n = number(n);
 if(n>1){
  this.minlength = n;
 }
}
passwordstrength.prototype.setstyles = function(){
 if(arguments.length == 0){
  return ;
 }
 for(var i=0;i<arguments.length && i < 4;i++){
  this.styles[i] = arguments[i];
 }
 this.copytostyle(this.selectedindex);
}
passwordstrength.prototype.write = function(s){
 if(this.showed){
  return ;
 }
 var n = (s == 'string') ? this.$(s) : s;
 if(typeof(n) != "object"){
  return ;
 }
 n.innerhtml = this.content;
 this.copytostyle(this.selectedindex);
}
passwordstrength.prototype.update = function(s){
 if(s.length < this.minlen){
  this.copytostyle(0);
  return;
 }
 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++;
 }
 if (s.length < 6 && ls > 0){
  ls--;
 }
  switch(ls) {
   case 0:
    this.copytostyle(1);
    break;
   case 1:
    this.copytostyle(2);
    break;
   case 2:
    this.copytostyle(3);
    break;
   default:
    this.copytostyle(0);
  }
}
</script>

//reg.php
<?php

$a="wyjboy";
if($a == "$usr"){
echo 0;
}else{
echo 1;
}
?>

csv是常用的excel格式的替代品哦,很多时候我们导出数据是都会导成csv格式的,这样和excel没什么区别,下面的程序是要读取csv数据保存到数组我们要对数据进行操作,所以保存到数据。
 代码如下 复制代码

$info=csvtoarray::open('teste.csv');
//echo '<pre>';
//print_r($info);
//echo '</pre>';
foreach ($info as $c)
 {
  echo '学号:'.$c[0];
  echo '姓名:'.$c[1];
  echo '年龄:'.$c[2];
  echo '身高:'.$c[3].'<br>';
 }
 

 final class csvtoarray{

  /**
   * 把csv文件解析为一个数组返回
   *
   * @param string $file 要解析的csv文件路径
   * @param char $delimiter csv文件里的内容分隔符 默认为;
   * @return array
   */
  public static function open($file, $delimiter = ';'){
   return self::ordenamultiarray(self::csvarray($file, $delimiter), 1);
  }

  private function csvarray($file, $delimiter)
  {
   $result = array();
   $size = filesize($file) + 1;
   $file = fopen($file, 'r');
   $keys = fgetcsv($file, $size, $delimiter);
   fseek($file,0);//这里原来的没有..自己加上..这样能读取到第一行的内容
   while ($row = fgetcsv($file, $size, $delimiter))
   {
    for($i = 0; $i < count($row); $i++)
    {
     if(array_key_exists($i, $keys))
     {
      $row[$keys[$i]] = $row[$i];
     }
    }
    print_r($row);
    $result[] = $row;
   }

   fclose($file);

   return $result;
  }
  private function ordenamultiarray($multiarray, $secondindex)
  {
   while (list($firstindex, ) = each($multiarray))
   $indexmap[$firstindex] = $multiarray[$firstindex][$secondindex];
   asort($indexmap);
   while (list($firstindex, ) = each($indexmap))
   if (is_numeric($firstindex))
   $sortedarray[] = $multiarray[$firstindex];
   else $sortedarray[$firstindex] = $multiarray[$firstindex];
   return $sortedarray;
  }
 }

下面这是一款利用php生成验证码程序了,利用了srand随便函数生成并用php gd库的图像函数生成验证图片,再把生成的数据保存到session全局变量。

//调用此页面,如果下面的式子成立,则生成验证码图片

 代码如下 复制代码

if($_get['action']=='verifycode'){
    rand_create();
}
//验证码图片生成
function rand_create(){
    //通知浏览器将要输出png图片

    header('content-type: image/png');

    //准备好随机数发生器种子
    srand((double)microtime()*1000000);
    //准备图片的相关参数
    $im = imagecreate(62,20);
    $black = imagecolorallocate($im, 0,0,0); //rgb黑色标识符
    $white = imagecolorallocate($im, 255,255,255); //rgb白色标识符
    $gray = imagecolorallocate($im, 200,200,200); //rgb灰色标识符
    //开始作图  
    imagefill($im,0,0,$gray);
    while(($randval=rand()%100000)<10000);{
        //将四位整数验证码绘入图片
     session_start();
   $_session['login_check_num'] = $randval;
        imagestring($im, 5, 10, 3, $randval, $black);
    }
    //加入干扰象素
    for($i=0;$i<200;$i++){
        $randcolor = imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
        imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);
    }
    //输出验证图片
    imagepng($im);
    //销毁图像标识符
    imagedestroy($im);
}
?>


调用方法

 代码如下 复制代码
<img src="code.php?action=verifycode" />

判断验证码是否输入正确

 代码如下 复制代码

<?
if( $_post['code'] == $_session['login_check_num'] )
{
 echo '验证码正确';
}
else
{
 echo '验证码错误';
}

在php中我们有个全局变量$_SERVER[\\\'HTTP_USER_AGENT\\\'];可以获取用户所有信息,我们要经过处理才可以判断用户浏览器是那种型的,下面的函数就可以准确的用户浏览器版本号代码。


function getbrowse()
        {
                $agent = $_server['http_user_agent'];
                $browser = '';
                $browserver = '';
                $browser = array('lynx', 'mosaic', 'aol', 'opera', 'java', 'macweb', 'webexplorer', 'omniweb');
                for($i = 0; $i <= 7; $i ++){
                        if(strpos($agent, $browsers[$i])){
                                $browser = $browsers[$i];
                                $browserver = '';
                        }
                }
                if(ereg('mozilla', $agent) && !ereg('msie', $agent)){
                        $temp = explode('(', $agent);
                        $part = $temp[0];
                        $temp = explode('/', $part);
                        $browserver = $temp[1];
                        $temp = explode(' ', $browserver);
                        $browserver = $temp[0];
                        $browserver = preg_replace('/([d.]+)/', '\1', $browserver);
                        $browserver = $browserver;
                        $browser = 'netscape navigator';
                }
                if(ereg('mozilla', $agent) && ereg('opera', $agent)) {
                        $temp = explode('(', $agent);
                        $part = $temp[1];
                        $temp = explode(')', $part);
                        $browserver = $temp[1];
                        $temp = explode(' ', $browserver);
                        $browserver = $temp[2];
                        $browserver = preg_replace('/([d.]+)/', '\1', $browserver);
                        $browserver = $browserver;
                        $browser = 'opera';
                }
                if(ereg('mozilla', $agent) && ereg('msie', $agent)){
                        $temp = explode('(', $agent);
                        $part = $temp[1];
                        $temp = explode(';', $part);
                        $part = $temp[1];
                        $temp = explode(' ', $part);
                        $browserver = $temp[2];
                        $browserver = preg_replace('/([d.]+)/','\1',$browserver);
                        $browserver = $browserver;
                        $browser = 'internet explorer';
                }
                if($browser != ''){
                        $browseinfo = $browser.' '.$browserver;
                } else {
                        $browseinfo = false;
                }
                return $browseinfo;
        }
 //应用方法
 
 //在ie中
 echo getbrowse(); //internet explorer 6.0
 //在firefox中
 echo getbrowse() ;//netscape navigator 5.0

php5有get_headers非常好用,因为他可以直接读取远程文件的信息,而不用把整个文件读取到服务器。但是现在很多web服务器都不支持php5,下面我们就来看一个关于php4获取远程服务器文件大小的实例类吧。

 /*
 
 */

 代码如下 复制代码

if(!function_exists('get_headers'))
{
    function get_headers($url,$format=0)
    {
        $url=parse_url($url);
        $end = " ";
        $fp = fsockopen($url['host'], (empty($url['port'])?80:$url['port']), $errno, $errstr, 30);
        if ($fp)
        {
            $out  = "get / http/1.1 ";
            $out .= "host: ".$url['host']." ";
            $out .= "connection: close ";
            $var  = '';
            fwrite($fp, $out);
            while (!feof($fp))
            {
                $var.=fgets($fp, 1280);
                if(strpos($var,$end))
                    break;
            }
            fclose($fp);

            $var=preg_replace("/ .*$/",'',$var);
            $var=explode(" ",$var);
            if($format)
            {
                foreach($var as $i)
                {
                    if(preg_match('/^([a-za-z -]+): +(.*)$/',$i,$parts))
                        $v[$parts[1]]=$parts[2];
                }
                return $v;
            }
            else
                return $var;
        }
    }
}

[!--infotagslink--]

相关文章

  • 帝国CMS会员注册字段增加编辑器、发送短消息改为编辑框

    通过本教程可以实现帝国CMS后台给前台注册用户发消息,把内容输入框改为编辑器,可上传图片,等打开文件\e\admin\member\SendMsg.php 大约84行<textarea name="msgtext" cols="6...2016-01-27
  • 快速解决PHP+MYSQL 出现乱码的解决方法

    如果你mysql查询出来乱码的话,多半是中文乱码了了,这种问题解决办法只需要统一页面与数据连接时的编码设置就可以解决,下面总结了些方法。 在mysql_connect后面加一...2016-11-25
  • Windows中关于php+mysql5.7的配置

    这篇文章主要为大家详细介绍了Windows下php+mysql5.7配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 WINDOWS 下 PHP+MYSQL配置下载mysql地址:https://d...2017-07-06
  • 帝国CMS取消会员注册时候的邮箱必填

    帝国CMS会员注册的时候,邮箱是必填项,但有时候,我们希望注册时不需要填写邮箱,但帝国CMS并没有给这样一个可以关闭的设置项。 通过本教程就可以实现取消邮箱必填。 以帝国CMS7.2...2016-05-19
  • 帝国CMS会员空间信息标签调用

    帝国CMS6.0版新增了针对会员空间信息调用的“灵动标签函数”,使会员空间模板增加信息调用更简单,不用写sql查询执行代码。 空间的“灵动标签函数”语法基本同灵动标签。 空...2015-12-30
  • php+mysql大量用户登录解决方案

    百度、QQ、360等大公司都拥有上亿的用户量。不仅所有子网站都通过一个账号登录,而且还开放用户平台,提供给其他网站使用。这种级别的数据量和访问量 如果不做优化,估计很...2016-11-25
  • ajax+php+mysql无刷新分页代码(1/2)

    代码如下 复制代码 <!doctype html public "-//w3c//dtd html 4.01 transitional//en" "http://www.w3.org/tr/html4/loose.dtd"> 2 <html>...2016-11-25
  • 帝国CMS调用最新会员[头像+用户名+链接]

    /*解决代码高亮太长不换行*/ .syntaxhighlighter{word-break:break-all;} uParse('#newstext', {rootPath: '/e/extend/ueditor/'}) 帝国CMS 用灵动标签调用最新会员[头...2016-08-27
  • PHP+MYSQL三日通

    一、PHP/MySQL简介   您应该听说过开放源代码软件(OSS),除非最近六到八个月来您一直住在火星上。这场运动有着巨大的冲击力,已引起一些大公司的注意。象Oralce、Inform...2016-11-25
  • php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码

    很简单的 1.先把 <script language="JavaScript" src="../include/js/regions.js"></script> 加到 header.html 页 2.把 regionss() 函数 加到 /include...2016-11-25
  • 网站公开大量优酷会员账号密码 多名网友自称被盗号

    近日,有多名网友称自己的视频网站会员账号被盗。北京青年报记者搜索一共享网站发现,涉及的账户信息疑波及上万条。22 日下午,优酷工作人员回复北青报记者称,优酷内部绝对不会泄露用户信息,目前正在主动联系发布会员账号的网站,强令其删除,并追究责任。...2016-12-31
  • PHP+mysql+ajax轻量级聊天室

    下面我们来看一篇关于PHP+mysql+ajax轻量级聊天室教程,希望这篇教程能够帮助到各位朋友. 本文实例讲述了PHP+mysql+ajax轻量级聊天室实现方法。分享给大家供大家...2016-11-25
  • 帝国CMS内容页调用本会员投稿的其它信息

    通过本教程可以实现在帝国CMS内容页调用当前会员在本栏目投稿的其它信息[e:loop={&#39;selfinfo&#39;,10,0,0,"userid=&#39;$navinfor[userid]&#39;"}] <li><a href="<?=$bq...2016-01-27
  • php+mysql prepare 与普通查询的性能对比实例讲解

    prepare可以解决大访问量的网站给数据库服务器所带来的负载和开销,本文章通过实例向大家介绍预查询prepare与普通查询的性能对比,需要的朋友可以参考一下...2016-12-02
  • PHP实现会员注册系统

    这篇文章主要为大家详细介绍了PHP实现会员注册系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-01-19
  • PHP+MYSQL开发 视频教程

    PHP+MYSQL/开发 视频教程 解决方法 [img]http://www.caopeng.org/html/image/php.jpg[/img] 曹鹏 PHP+MYSQL 为网络开发提供流行动力 PHP+MYSQL是今天用的最...2016-11-25
  • Php+MySql分页机制两种方案的比较测试

    硬件环境:PIII550,128M,15.2G 软件环境:Win98+Apache+Php4+MySql 方案一: 1.第一次查询时用Select count(1) from tab where condition 取得满足条件的记录数$rows ...2016-11-25
  • 帝国CMS会员空间新闻列表图片列表按栏目查看

    如果会员在多栏目下投稿文章,那么会员空间的文章列表默认显示所有栏目的文章,无法区分。但实际上是可以根据栏目查看的,这样就可以实现在会员空间添加子栏目页面了。 如,空间...2015-12-30