文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php教程>ajax检测用户名是否被占用

ajax检测用户名是否被占用

时间:2021-01-21  来源:互联网

有时候在注册窗口,为了用户体验我们会用ajax无刷新检测用户名是否已被注册。

代码如下:

//检测用户名是否被占用 

function GetO(){ 

var ajax=false; 

try { 

ajax = new ActiveXObject("Msxml2.XMLHTTP"); 

} catch (e) { 

try { 

ajax = new ActiveXObject("Microsoft.XMLHTTP"); 

} catch (E) { 

ajax = false; 

if (!ajax && typeof XMLHttpRequest!='undefined') { 

ajax = new XMLHttpRequest(); 

return ajax; 

function getResult(serverPage) { 

var ajax = GetO(); 

var sep = (-1 < serverPage.indexOf("?")) ? "&" : "?" 

var newurl = serverPage + sep + "__=" + encodeURIComponent((new Date()).toString()); 

ajax.open("GET", newurl, true); 

ajax.onreadystatechange = function() { 

if (ajax.readyState == 4 && ajax.status == 200) { 

if(ajax.responseText==1){ 

ShowResult(1,"您的用户名可以正常注册") 

AjaxResult=true; 

}else{ 

ShowResult(0,"您的用户名被占用了") 

AjaxResult=false; 

ajax.send(null); 

function chkUsername(){ 

var sflag;//标记; 

var sErr;//错误信息; 

sflag=true; 

var re=/^\w{2,20}$/; 

if(!re.test(document.Form1.UserName.value)){ 

sflag=false; 

sErr="用户名只能输入字母、数字或下划线"; 

if (document.Form1.UserName.value.length>20||document.Form1.UserName.value.length<2){ 

sflag=false; 

sErr="用户名长度必须在2~20个字符之间"; 

if (document.Form1.UserName.value=="" ){ 

sErr="用户名不能为空"; 

sflag=false; 

//ajax检测返回结果 

if (!sflag) { 

ShowResult(0,sErr) 

}else{ 

getResult("../MemberCheck.aspx?t=1&Name=" + document.Form1.UserName.value); 

//document.getElementById("spname").innerHTML=ss; 

function ShowResult(tag,str){ 

var obj = document.getElementById("spname"); 

if(tag==0){ 

obj.style.border="1px solid red"; 

obj.style.color="red"; 

}else{ 

obj.style.border="1px solid green"; 

obj.style.color="green"; 

obj.innerHTML=str; 

obj.style.padding="1px"; 

//取ajax返回的用户问题值 

function getQuestionData(sPage){ 

var ajax = GetO(); 

var sep = (-1 < sPage.indexOf("?")) ? "&" : "?" 

var newurl = sPage + sep + "__=" + encodeURIComponent((new Date()).toString()); 

ajax.open("GET", newurl, true); 

ajax.onreadystatechange = function() { 

if (ajax.readyState == 4 && ajax.status == 200) { 

if(ajax.responseText==""){ 

document.getElementById("getstate").innerHTML="用户不存在!" 

else{ 

document.g.Question.value=ajax.responseText; 

document.g.Question.readOnly=true; 

document.getElementById("getpwdstep1").style.display="none"; 

document.getElementById("getpwdstep2").style.display="block"; 

document.getElementById("getstate").innerHTML=""; 

ajax.send(null); 

function getUserQ(){ 

//改变报错span的显示样式 

document.getElementById("getstate").style.padding="1px 4px"; 

if (document.g.UserName.value==""){ 

document.getElementById("getstate").innerHTML="用户名不能为空!" 

}else{ 

document.getElementById("getstate").style.background="red"; 

document.getElementById("getstate").style.color="white"; 

document.getElementById("getstate").innerHTML="正在加载数据..."; 

//设置ajax 

getQuestionData("../MemberCheck.aspx?t=2&gName=" + document.g.UserName.value); 

function login(n,p,t) 

if(t==false){ 

document.getElementById("pLogin").style.display="none"; 

document.getElementById("LoginInfo").innerHTML="正在帮您登录,请稍等..."; 

var request; 

if(undefined == request){ 

request = new Request(); 

if(undefined == request._get){ 

//不支持Ajax获取数据; 

if(t==false){ 

document.getElementById("pLogin").style.display=""; 

document.getElementById("LoginInfo").innerHTML="不能获取数据"; 

else{ 

userName=n; 

toPrev=t; 

request.GetNoCache(loginPath + "LoginCheck.aspx" + "?n=" + n + "&p=" + p,loginCheck); 

function loginCheck(result) 

if (result.readyState!=ReadyState.Complete) 

return; 

//成功获取; 

if (result.status==HttpStatus.OK && result.responseText != "") 

//执行返回的语句; 

//alert(result.responseText); 

if (result.responseText=='1') 

if(toPrev ==false){ 

document.getElementById("LoginInfo").innerHTML='<ul><li>欢迎' + userName + '</li><li><a href="' + loginPath + 'member/">管理</a></li><li><a href="' + loginPath + 'Logout.aspx">退出</a></li></ul>'; 

else{ 

if(UrlPrev != ''){ 

document.location.href=UrlPrev; 

else{ 

document.location.href=loginPath; 

return; 

else 

if(document.location.href !="http://" + document.location.hostname + loginPath + "Member/Login.aspx") 

document.location.href=loginPath + "Member/Login.aspx"; 

else 

//失败; 

document.location.href=loginPath + "Member/Login.aspx"; 

return; 

function checkKey(caputureKey,n,p,t){ 

var key = window.event.keyCode; 

if(key == caputureKey){ 

login(n,p,t); 

function setLoginInfo(bLogin){ 

if(bLogin){ 

document.getElementById("LoginInfo").innerHTML='<ul><li>欢迎' + userName + '</li><li><a href="' + loginPath + 'member/">管理</a></li><li><a href="' + loginPath + 'Logout.aspx">退出</a></li></ul>'; 

else{ 

function gotoUrl(s){ 

window.location.href=loginPath + 'Member/RegUser.html'; 

}

相关阅读更多 +
最近更新
排行榜 更多 +
元梦之星最新版手游

元梦之星最新版手游

棋牌卡牌 下载
我自为道安卓版

我自为道安卓版

角色扮演 下载
一剑斩仙

一剑斩仙

角色扮演 下载