1.思路
可以用onblur事件搭独,會在對象失去焦點的時候觸發(fā)
用onkeyup事件,onkeyup 事件會在鍵盤按鍵被松開時發(fā)生。
window.onload=function(){}//是等待腳本加載完畢后執(zhí)行
window.location.reload()刷新當前頁面.
parent.location.reload()刷新父親對象(用于框架)
opener.location.reload()刷新父窗口對象(用于單開窗口)
top.location.reload()刷新最頂端對象(用于多開窗口)
2.結果
3.模板文件
①xmlhttp.js
// JavaScript Document
varxmlhttp= false;
if(window.ActiveXObject){
xmlhttp= newActiveXObject("Microsoft.XMLHTTP");
}else if(window.XMLHttpReuqest){
xmlhttp= newXMLHttpRequest();
}
②register.js
// JavaScript Document
function$(id){
returndocument.getElementById(id);
}
window.onload= function(){
$('regname').focus();
varcname1,cname2,cpwd1,cpwd2;
//驗證用戶名
$('regname').onkeyup= function(){
name=$('regname').value;
cname2='';
if(name.match(/^[a-zA-Z_]*/)==''){
$('namediv').innerHTML='必須以字母或下劃線開頭';
cname1='';
}else if(name.length<=3){
$('namediv').innerHTML='注冊名稱必須大于3位';
cname1='';
}else{
$('namediv').innerHTML='注冊名稱符合標準';
cname1='yes';
}
chkreg();
}
$('regname').onblur= function(){
name=$('regname').value;
if(cname1=='yes'){
xmlhttp.open('get','chkname.php?name='+name,true);
xmlhttp.onreadystatechange= function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
varmsg=xmlhttp.responseText;
if(msg=='1'){
$('namediv').innerHTML="恭喜您璧瞬,該用戶名可以使用!";
cname2='yes';
}else if(msg=='2'){
$('namediv').innerHTML="用戶名被占用!";
cname2='';
}else{
$('namediv').innerHTML=""+msg+"";
cname2='';
}
}
}
}
xmlhttp.send(null);
chkreg();
}
}
$('regpwd1').onkeyup= function(){
pwd=$('regpwd1').value;
pwd2=$('regpwd2').value;
if(pwd.length<6){
$('pwddiv1').innerHTML='密碼長度最少需要6位';
cpwd1='';
}else if(pwd.length>=6&&pwd.length<12){
$('pwddiv1').innerHTML='密碼符合要求渐夸。密碼強度:弱';
cpwd1='yes';
}else if((pwd.match(/^[0-9]*$/)!=null)||(pwd.match(/^[a-zA-Z]*$/)!= null)){
$('pwddiv1').innerHTML='密碼符合要求嗤锉。密碼強度:中';
cpwd1='yes';
}else{
$('pwddiv1').innerHTML='密碼符合要求。密碼強度:高';
cpwd1='yes';
}
if(pwd2!=''&&pwd!=pwd2){
$('pwddiv2').innerHTML='兩次密碼不一致!';
cpwd2='';
}else if(pwd2!=''&&pwd==pwd2){
$('pwddiv2').innerHTML='密碼輸入正確';
cpwd2='yes';
}
chkreg();
}
$('regpwd2').onkeyup= function(){
pwd1=$('regpwd1').value;
pwd2=$('regpwd2').value;
if(pwd1!=pwd2){
$('pwddiv2').innerHTML='兩次密碼不一致!';
cpwd2='';
}else{
$('pwddiv2').innerHTML='密碼輸入正確';
cpwd2='yes';
}
chkreg();
}
functionchkreg(){
if((cname1=='yes')&&(cname2=='yes')&&(cpwd1=='yes')&&(cpwd2=='yes')){
$('regbtn').disabled= false;
}else{
$('regbtn').disabled= true;
}
}
$('morebtn').onclick= function(){
if($('morediv').style.display==''){
$('morediv').style.display='none';
}else{
$('morediv').style.display='';
}
}
//正式注冊
$('regbtn').onclick= function(){
if($('email').value!=''){
reg=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
$('email').value.match(reg);
if($('email').value.match(reg)== null){
alert('您可以選擇不填寫email墓塌,但一定要寫正確的格式');
$('email').select();
return false;
}
}
name=$('regname').value;
pwd=$('regpwd1').value;
question1=$('question').value;
answer1=$('answer').value;
email1=$('email').value;
url='register_chk.php?name='+name+'&pwd='+pwd;
url+='&question='+question1+'&answer='+answer1+'&email='+email1;
xmlhttp.open('get',url,true);
xmlhttp.onreadystatechange= function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
msg=xmlhttp.responseText;
if(msg=='1'){
alert('注冊成功!');
top.opener.location.reload();
window.close();
}else{
alert(msg);
}
}
}
}
xmlhttp.send(null);
}
}
③register.php
session_start();
header('Content-Type:text/html;charset=gb2312');
?>
用戶注冊頁面
注冊名稱:
名稱由英文字母和數(shù)字及下劃線組成
注冊密碼:
請輸入密碼
確認密碼:
確認密碼
注冊
④chkname.php
session_start();
include_once"conn/conn.php";
$reback='0';
$sql="select*from tb_member where name='".$_GET['name']."'";
$num=$conne->getRowsNum($sql);
if($num==1){
$reback='2';
}else if($num==0){
$reback='1';
}else{
$reback=$conne->msg_error();
}
echo$reback;
?>