xiaowall网站总结之(0)即时验证用户名

3 篇文章 0 订阅
1 篇文章 0 订阅

       终于写完了自己做的网站,刚刚上线.使用的是LAMP环境,本人初学php,遇到了很多问题,这里是实战后的总结,有许多错误和不完善,欢迎大家批评与指教!

      这里做个广告.我的个人网站是提供大家上传保存自己编写的网页.给需要练习web程序,和分享,展示网页的朋友提供一些方便.

      访问地址是http://www.xiaowall.com微笑

     

       做网页首先就是登入注册页面了.这里总结一下注册页面的设计.

       登入界面:

      
      

     

      用于将用户名数据发送到服务器:ajax.js

var writeAndCreateFileInfo = "";
//初始化AJAX对象
function initAjax() {
    var ajax = false;
    if (window.XMLHttpRequest) {
        ajax = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        ajax = new ActiveXObject('Microsoft.XMLHTTP');
    }
    return ajax;
   
   
}

//URL验证页面, pdata验证的变量值 可以为空,obj是要显示的处理结果,type是自定义的区分username还是emailx
function sendajax(sURL, pdata, obj, type) {
    var ajax = initAjax();

    //以POST方式传递
    ajax.open('POST', sURL, true);
    //传递pdata值
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    ajax.onreadystatechange = function () {
        if (ajax.readyState == 4) {
            if (ajax.status != 200) {
                self.status = "访问出错,请重试!";
            }
            else {
                obj.innerHTML = ajax.responseText;
                writeAndCreateFileInfo = ajax.responseText;
                if (ajax.responseText == "欢迎来到小墙网")
                    window.location = "index.php";

            }
            var a = "";
           
        }
    }

    switch (type) {
        case 1: //用于验证用户名是否存在
            ajax.send('username=' + pdata);   //将值传递给php页面验证
            break;
        case 2: //用于验证电子邮件
            // ajax.send('email=' + pdata);
            break;
        case 3: //发送用户名和密码到Login.php pdata包涵参数的名称 ?u=*&p=*$r=*
            ajax.send('');
            break;
        default:
             ajax.send('');       
    }
}

使用checkName.php验证用户名的格式和在数据库中是否存在.最后返回信息.


       客户端验证文件: Register.js

var errorInfo = ""; //错误信息

function checkInfo() {
    if(checkEmail()=="" && checkPassword()=="")
        return true;
    else
        return false;
}

//账号的验证 使用checkName.php

//至少6位
function checkPassword() {
    var userPwd0 = document.getElementById("userPassword0").value;
    var userPwd1 = document.getElementById("userPassword1").value;
    var pcre_Pwd = /^[0-9a-zA-Z]{6,20}$/;
    if (pcre_Pwd.exec(userPwd0)) {
        if (pcre_Pwd.exec(userPwd1)) {
            if (userPwd0 != userPwd1) {
                return "密码两次输入不一致!";
            }
        }
        else {
            return "密码格式不正确!";
        }
    }
    else {
        return "密码格式不正确!";
    }
    return "";
}

function checkEmail() {
    var userE = document.getElementById("userEmail").value;
    var reg = /^(?:[a-z\d]+[_\-\+\.]?)*[a-z\d]+@(?:([a-z\d]+\-?)*[a-z\d]+\.)+([a-z]{2,})+$/i;
    if (reg.exec(userE)) {
        return "";
    }
    else {
        return "邮箱格式不正确!";
    } 
}

提交后Register.php再次进行数据的验证,然后保存的数据库中.

      

      



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值