在一般注册页面中,解决当前页面进行用户名检测是否被占用
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();
}