js Ajax检测用户名是否被占用

 


在一般注册页面中,解决当前页面进行用户名检测是否被占用

js文件

$(document).ready(function(){ 
	
	 $("#username").blur(function(){
		 var str=$("#username").val();
		 var containSpecial = RegExp(/[(\ )(\~)(\!)(\@)(\#)(\$)(\%)(\^)(\&)(\*)(\()(\))(\-)(\_)(\+)(\=)(\[)(\])(\{)(\})(\|)(\\)(\;)(\:)(\')(\")(\,)(\.)(\/)(\<)(\>)(\?)(\)]+/);      
	     if(containSpecial.test(str))
	    	 {
	    	 $("#user2").html("<font color='red'>用户名不能存在特殊字符!</font>");
	    	 $("#user2").html("<font color='red'>用户名不能存在特殊字符!</font>");
	    	 }
		 if(str=="")
			 {
			 $("#user2").html("<font color='red'>用户名应不能为空</font>");
			 }
		 else if(str.length>20||str.length<6){
			 $("#user2").html("<font color='red'>用户名应大于6位且小于20位</font>");
		 }else {
			
			 var params="username="+str;
			 doAjax("CheckUserName", params, function(rstText) {
				var result=eval('('+rstText+')');
				if(result.status=='OK')
					{
					$("#user2").html("<font color='green'>用户名可以使用!</font>");
					}else
						{
						$("#user2").html("<font color='red'>用户名已被使用!</font>");
						}
			});

		 }
    });
}
 
function getXMLHttpResquest() {
 var xmlhttp=null;
 if(window.XMLHttpRequest){
  xmlhttp=new XMLHttpRequest();
 } 
 else if(window.ActiveXObject)
  {
    var activexName=["MSXML2.XMLHTTP","Microsoft.XMLHTTP",""];
         for( var i=0;i<activexName.length;i++){
             try{
                 //取出一个控件名称创建,如果创建成功则停止,反之抛出异常
                 xmlhttp=new ActiveXObject(activexName[i]);
                 break;       
             }
             catch (e) {
     // TODO: handle exception
    }
         }
  }
 return xmlhttp;
}
function doAjax(url,params,callBack) {
 var req=getXMLHttpResquest();
 if(req!=null)
  {
  req.onreadystatechange=function(){
   if(req.readyState==4)
    {
    if(200==req.status)
     {
     callBack(req.responseText);
     
     }else if(404==req.status)
      {
      alert('404-HTTP请求路径错误!');
      }
     else if(500==req.status)
      {
      alert('500-HTTP请求路径错误!');
      }
      
    }
   
  };
  req.open("POST",url,true);
  req.setRequestHeader("Content-Type","application/x-www-form-urlencoded;;charset=utf-8");
  req.send(params);
 }
 
}

servlet::CheckUserName

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
     request.setCharacterEncoding("utf-8");
         response.setCharacterEncoding("utf-8");
          response.setContentType("text/plain;charset=UTF-8"); 
        String rst="";
         PrintWriter out=response.getWriter();
         String userName=request.getParameter("username");

         DbDao aDao=new DbDao();
         ResultSet resultSet=aDao.executeQuery("select * from T_YHXX where YHM='"+userName+"'");

         try
  {
      if(!resultSet.next())
      {
    rst+="{status:'OK'}";
      }
      else {
    rst+="{status:'ERROR',msg:'用户名已经存在'}";
      }
  } catch (SQLException e)
  {
      // TODO Auto-generated catch block
      e.printStackTrace();
  }
         out.print(rst);
         out.flush();
         out.close();
         try
  {
      resultSet.close();
  } catch (SQLException e)
  {
      // TODO Auto-generated catch block
      e.printStackTrace();
  }
         aDao.CloseDB();
        
  
 }


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值