建立良好体验度的Web注册系统ajax

时间:2021-05-18

*项目名称:具有良好体验度的Web注册系统
*作者:草履虫
*联系:caolvchong@gmail.com
*时间:2007-6-29
*起因和版权说明:
1.蓝色理想上有位会员发布了个类似的系统,提问说验证码不支持firefox的刷新,于是萌生念头做一个.本系统外观(按钮取色等)借鉴了该系统,但细节实现原理并不相同(该文地址:http://bbs.blueidea.com/thread-2761325-1-4.html).
2.另外,自己做的这个注册系统中利用了网络上的无组件验证码(作者sipo)
3.至于密码强度的算法借鉴了蓝色理想的一篇文章(http://m.gif">密码强度一般","<IMGsrc="good.gif">密码强度强壮");
$("span")[1].innerHTML=msg[num];
if($("input")[2].value!=""){
check_pw();
}
returnflag[2]=1;
check_data();
}
}
//定义检测函数,返回0/1/2分别代表差/一般/强
functiongetResult(s){
varls=-1;
if(s.match(/[a-z]/ig)){
ls++;
}
if(s.match(/[0-9]/ig)){
ls++;
}
if(s.match(/(.[^a-z0-9])/ig)){
ls++;
}
returnls;
}
//---------密码一致性检测
functioncheck_pw(){
varpwd=$("input")[1].value.toString();
varcheck_pwd=$("input")[2].value.toString();
if(flag[2]==1){
if(pwd==check_pwd){
$("span")[2].innerHTML="<IMGsrc="yesok.gif">密码可以使用";
flag[3]=1;
check_data();
}
else{
$("span")[2].innerHTML="<IMGsrc="yesno.gif">两次密码不相同";
flag[3]=0;
check_data();
}
}
}
//---------用户名合法性检测
functioncheck_id(id_name){//只能字母和数字,是否相同用AJAX判断
varreId=/^[\w\u0391-\uFFE5]+$/;
varb_id=reId.test(id_name);
if(!b_id){
$("span")[0].innerHTML="<IMGsrc="yesno.gif">ID命名非法";
flag[4]=0;
check_data();
}
else{//合法用户名用ajax的checkid()检测是否被注册过
checkid(id_name);
}
}
//---------检查数据,使提交按钮是否生效
functioncheck_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;
}
}

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

varflag=[0,0,0,0,0,0];
var$=function(tagName){
returndocument.getElementsByTagName(tagName);
}
//----------接受协议
functionaccept_info(){
flag[0]=1;
check_data();
}
//----------拒绝协议
functionrefuse_info(){
flag[0]=0;
check_data();
}
//----------重置
functionreset_info(){
varinfo=["支持汉字,单词,数字,敏感字符屏蔽","密码在6-16位之间,敏感字符屏蔽","","email是联系重要手段","看不清楚?请点击验证码刷新"]
for(vari=0;i<$("span").length;i++){
$("span")[i].innerHTML=info[i];
flag[i]=0;
}
for(vari=0;i<$("input").length-3;i++){
$("input")[i].value="";
}
check_data();
}
//----------邮箱检测
functioncheck_email(email){
varreEmail=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
varb_email=reEmail.test(email);
if(b_email){
$("span")[3].innerHTML="邮箱可用";
flag[1]=1;
check_data();
}
else{
$("span")[3].innerHTML="邮箱错误";
flag[1]=0;
check_data();
}
}
//----------密码检测
functioncheck_password(obj){
varpwd=$("input")[1].value;
varreChinese=/[\u0391-\uFFE5]+/;
varb_chinese=reChinese.test(pwd);
varreSpace=/\s+/;
varb_space=reSpace.test(pwd);
//-------长度测试
if(pwd.length<6){
$("span")[1].innerHTML="密码长度不能小于6";
flag[2]=0;
check_data();
}
//-------合法性检测:不能包含汉字
elseif(b_chinese){
$("span")[1].innerHTML="密码不能包含中文";
flag[2]=0;
check_data();
}
//-------合法性检测:不能包含空格
elseif(b_space){
$("span")[1].innerHTML="密码不能包含空格";
flag[2]=0;
check_data();
}
//-------合法时显示密码强度
else{
//定义对应的消息提示
varnum=getResult(pwd);
varmsg=newArray("密码强度差","密码强度一般","密码强度强壮");
$("span")[1].innerHTML=msg[num];
if($("input")[2].value!=""){
check_pw();
}
returnflag[2]=1;
check_data();
}
}
//定义检测函数,返回0/1/2分别代表差/一般/强
functiongetResult(s){
varls=-1;
if(s.match(/[a-z]/ig)){
ls++;
}
if(s.match(/[0-9]/ig)){
ls++;
}
if(s.match(/(.[^a-z0-9])/ig)){
ls++;
}
returnls;
}
//---------密码一致性检测
functioncheck_pw(){
varpwd=$("input")[1].value.toString();
varcheck_pwd=$("input")[2].value.toString();
if(flag[2]==1){
if(pwd==check_pwd){
$("span")[2].innerHTML="密码可以使用";
flag[3]=1;
check_data();
}
else{
$("span")[2].innerHTML="两次密码不相同";
flag[3]=0;
check_data();
}
}
}
//---------用户名合法性检测
functioncheck_id(id_name){//只能字母和数字,是否相同用AJAX判断
varreId=/^[\w\u0391-\uFFE5]+$/;
varb_id=reId.test(id_name);
if(!b_id){
$("span")[0].innerHTML="ID命名非法";
flag[4]=0;
check_data();
}
else{//合法用户名用ajax的checkid()检测是否被注册过
checkid(id_name);
}
}
//---------检查数据,使提交按钮是否生效
functioncheck_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.jsviewplaincopytoclipboardprint?
functioncheckcode(regcode){
varxmlhttp;
try{
xmlhttp=newXMLHttpRequest();
}
catch(e){
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
vardata=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));
}
functioncode_result(data){
varresultbox=$("span")[4];
if(data==1){
resultbox.innerHTML='<IMGsrc="yesok.gif">验证码正确';
flag[5]=1;
check_data();
}
else{
resultbox.innerHTML='<IMGsrc="yesno.gif">验证码错误';
flag[5]=0;
check_data();
}
}

//--------------------------------------------------------------------
functioncheckid(regid){
varxmlhttp;
try{
xmlhttp=newXMLHttpRequest();
}
catch(e){
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
vardata=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));
}
functionid_result(data){
varresultbox=$("span")[0];
if(data==1){
resultbox.innerHTML='<IMGsrc="yesok.gif">用户名可用';
flag[4]=1;
check_data();
}
else{
resultbox.innerHTML='<IMGsrc="yesno.gif">该用户名已经被注册';
flag[4]=0;
check_data();
}
}

//--------------------------------------------------------------------
functionsendinfo(regname,pwd,email){
varxmlhttp;
try{
xmlhttp=newXMLHttpRequest();
}
catch(e){
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){
vardata=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));
}
functionreg_result(data){
if(data==1){
$("span")[5].innerHTML='<Ahref="http://cceer.xmu.edu.cn/blog/"target=_blank>'+$("input")[0].value+",您好.请点击这里登陆</A>";
}
else{
$("span")[5].innerHTML="注册失败,请联系管理员";
}
}
*这里是所有文件的打包下载(包括所有文件,图片,数据库等,解压后请在IIS下测试)
良好体验度的注册系统.rar

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章