`
anmo_china
  • 浏览: 16378 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
最近访客 更多访客>>
社区版块
存档分类
最新评论

验证用户名简单示例

    博客分类:
  • Ajax
阅读更多
验证用户名是否存在
在js文件中主要需要4步
    1、获取页面参数
    2、对参数值可行性的验证
    3、将数据发送到服务器中
    4、在回调函数中将服务器返回的值,写到html页面上

主要业务流程如下
步骤1:准备客户端html页面:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
        "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>使用jquery做用户名验证</title> 
    <script type="text/javascript" src="jslib/jquery.js"></script>
     <script type="text/javascript" src="jslib/verify1.js"></script>
</head>
<body>
    用户名:<input type="text" id="username" onblur="verify()"/>&nbsp;<span id="result"></span><br/>
    密码:<input type="text" id="password"><br/>
</body>
</html>

步骤2:服务器servlet代码
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.PrintWriter;

/**
 * Created by IntelliJ IDEA.
 * User: Administrator
 * Date: 2009-10-22
 * Time: 10:28:07
 * To change this template use File | Settings | File Templates.
 */
public class validateUserServlet extends HttpServlet {
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         this.doGet(request, response);
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        //1.取参数
        String old = request.getParameter("username");
        //2.检查参数是否有问题
        if(old == null || old.length()==0){
            out.println("用户名不能为空");
        }else{
            //3.校验操作
            String username = old;
            if(username.equals("anmo")){
                //4.和传统应用不同之处,这一步需要将用户感兴趣的数据返回给页面段,而不是将一个新页面发送给用户
                out.println("用户名["+username+"]已经存在,请使用其他用户名");
            }else{
                out.println("你可以使用此用户名!!!");
            }
        }
    }
}

步骤3:准备JS文件,(本示例用了两个一个是jquery.js,一个是自己定义的js文件)下面的代码是自己定义的js
//定义用户名校验的方法
function verify(){
    //1.获取文本框中的内容
    //使用DOM方式获取:document.getElementById("username");
    var jqueryObj = $("#username");    //使用JQuery方式查找节点
    //2.取值
    var username = jqueryObj.val();
    //将文本框中的数据发送给服务器端的servlet
    $.get("validateUserServlet?username="+username,null,callback);         //使用jquery的XMLHTTTRequest对象get请求封装
}
//回调函数
function callback(data){
    //3.接受客户端返回的数据
    //alert(data);   //data中是服务器返回给页面的值
    //4.将服务器端返回的数据动态的显示在页面上
    var resultObj = $("#result");
    //动态改变页面中span中的内容
    resultObj.html(data);
}


到此,整个示例已经完了,也可以将js文件中的代码细化,细化后代码如下
function verify(){
    //去出页面中的值
    var username = $("#username").val();
    //将值发送到服务器,进行验证,并且处理完后回调callback函数,将服务器返回的数据发送到页面显示
    $.get("validateUserServlet?username="+username, null, function callback(data){
        $("#result").html(data);
    });
}



-------------------------------------------------------------------------------
如果不想使用jquery的话,可以自己写ajax应用,来验证用户名
//用户名校验
//这个方法是用XMLHTTPRequert对象进行AJAX的异步交互

var xmlhttp;
function verify(){
    //第一步:使用DOM方式获取文本框中的数据
    var username = document.getElementById("username").value;

    //使用XMLHTTPRequert对象,这个XMLHttpRequest对象是使用中最复杂的一部,要兼容各个浏览器
    if(window.XMLHttpRequest){
        //针对FireFox,Mozillar,Opera,Safari,IE7,IE8
        xmlhttp = new XMLHttpRequest();
        //针对某些特定版本的mozillar浏览器的BUG进行修正
        if(xmlhttp.overrideMimeType){
            xmlhttp.overrideMimeType("text/xml");
        }
    }else if(window.ActiveXObject){
        //针对IE6,IE5.5,IE5
        //将两个可以用户创建XMLHTTPRequest对象的控件名称,保存在一个JS的数组中
        //排在前面的版本较新
        var activexName = ["MXXML2.XMLHTTP","Microsoft.XMLHTTP"];
        //循环创建ActiveXObject
        for(var i = 0; i < activexName.length; i++){
            try{
                //取出一个控件名进行创建,如果创建成功就终止循环
                //如果创建失败,就抛出异常,然后可以继续循环,继续尝试创建
                xmlhttp = new ActiveXObject(activexName[i]);
                break;
            }catch(e){
            }
        }
    }

    //第二步:注册回调函数,调用回调函数的时候不能加括号
    //我们需要将函数名注册,如果加上括号,就会把函数的返回值注册上,这就错误的
    xmlhttp.onreadystatechange = callback;

    //第三步:设置连接信息
    //第1个参数是表示http请求方式,支持所有http请求方式,主要是get和post
    //第2个参数表是url地址,get方式请求的参数也在url中
    //第3个参数表示采用异步还是同步方式交互,true表示异步
    xmlhttp.open("GET", "validateUserServlet?username="+username, true);

    //第四步,发送数据,开始和服务器端进行交互
    //如果是同步的话,当代码运行到shend()的时候就会停住,直到服务器端的数据完全返回才运行
    //如果是异步的话,shend会立即完成执行
    xmlhttp.send(null);
}

//回调函数
function callback(){
    //第五步,判断对象的状态是交互完成
    if(xmlhttp.readyState == 4){
        //判断http的交互是否成功
        if(xmlhttp.status == 200){
            //获取服务器端返回的数据
            //以存文本的方式获取
            var responseText = xmlhttp.responseText;
            //将数据显示在页面上
            document.getElementById("result").innerHTML = responseText;
        }
    }
}
分享到:
评论

相关推荐

    ajax异步验证用户名是否存在

    在"ajax异步验证用户名是否存在"的场景中,主要涉及以下几个步骤: 1. **前端交互**:当用户在注册表单中输入用户名并失去焦点时,JavaScript事件监听器会被触发。我们可以使用`addEventListener`来监听`blur`事件...

    ajax验证用户名是否重复

    在Ajax验证用户名的场景中,jQuery可以用于更简单、更优雅地处理DOM操作和Ajax请求。例如,可以使用`$.ajax()`方法创建Ajax请求,设置请求类型、URL、数据以及成功的回调函数。以下是一个简单的示例: ```...

    ajax验证用户名是否存在 与 rapid validate 的使用

    以下是一个简单的Ajax实现示例: ```javascript // 获取用户名输入框 var usernameInput = document.getElementById('username'); // 添加事件监听器,当用户名改变时触发 usernameInput.addEventListener('change...

    php+mysql+Ajax验证用户名是否已占用

    在这个"php+mysql+Ajax验证用户名是否已占用"的场景中,我们将探讨如何利用PHP、MySQL数据库和Ajax技术来实现实时的前端验证,从而提高用户体验并减少服务器压力。 首先,让我们了解一下这些技术的基础知识: 1. ...

    ajax验证用户名是否存在

    在现代Web应用中,用户体验的重要性...总的来说,"Ajax验证用户名是否存在"是一个典型的前后端交互示例,展示了如何使用Ajax提升用户体验。它结合了前端的动态交互和后端的数据验证,是Web开发中不可或缺的一部分。

    ajax和struts结合实现无刷新验证用户名是否存在

    ### AJAX与Struts结合实现无刷新验证用户名是否存在 在Web开发中,用户体验是至关重要的因素之一。传统的表单提交方式往往会导致整个页面重新加载,这不仅降低了用户体验,还增加了服务器的负担。为了解决这一问题...

    用Wpf编写的验证用户名和密码

    在本文中,我们将深入探讨如何使用WPF(Windows Presentation Foundation)来实现一个验证用户名和密码的界面。WPF是.NET Framework的一部分,它提供了一个强大的工具集来构建丰富的、交互式的桌面应用程序。对于...

    jquery ajax验证用户名是否存在几种方式

    在示例中,使用Servlet来验证用户名。 - **响应内容类型设置**:`response.setContentType()` 用于设定响应的MIME类型,确保客户端能正确解析数据。 - **数据传输**:服务器端通过 `PrintWriter` 或其他方式将结果...

    利用Ajax实现无刷新验证用户名和密码是否正确

    "利用Ajax实现无刷新验证用户名和密码是否正确"这一技术就是为了让用户在输入登录信息时能够得到即时反馈,无需等待页面整体刷新,极大地提升了交互体验。Ajax(Asynchronous JavaScript and XML)是一种创建动态...

    struts2 ajax jquery 验证用户名,有后台代码

    在这个项目中,我们将探讨如何使用这些技术来验证用户名是否已存在于数据库中。 首先,Struts2 是一个基于MVC(Model-View-Controller)模式的Java Web框架,它使得开发者可以更方便地处理HTTP请求和响应,同时提供...

    jQuery 验证用户名是否存在

    在网页应用中,验证用户名是否已经存在是一项基本但至关重要的功能。这有助于确保用户注册时选择的用户名是唯一的,防止重名现象发生。jQuery,一个广泛使用的JavaScript库,提供了丰富的功能来简化前端交互,包括...

    json验证用户名是否存在

    在本示例中,"json验证用户名是否存在" 的主题聚焦于如何利用JSON进行用户身份验证,特别是检查一个特定的用户名是否已经被系统注册或存在。这个过程在用户注册、登录或者其他需要验证用户身份的场景中非常重要。 ...

    Ajax验证用户名是否存在例

    ### Ajax验证用户名是否存在示例详解 #### 一、概述 在Web开发中,为了提高用户体验,经常会在用户输入用户名时即时验证该用户名是否已经被其他用户注册。这种验证方式可以通过Ajax技术实现,即在用户输入的同时向...

    用户名验证AJAX,使用技术示例

    url: "check_username.php", // 假设这是一个验证用户名的PHP接口 type: "POST", data: {username: username}, dataType: "json", success: function(response) { if (response.available) { $("#result")....

    Java登录程序实例:用户名密码验证示例.rar

    Java登录程序实例:用户名密码验证示例,好像没有使用网络哦,用户名密码暂存在代码中,通过按钮事件激活函数,进行判断。部分代码如下:  username=new JTextField(16);//初始化文本输入框,宽度为16列  password=...

    servlet页面验证用户名密码

    在本场景中,"servlet页面验证用户名密码"是一个关键功能,它涉及到用户身份验证,这是许多Web应用程序的基础安全机制。下面我们将深入探讨这个话题。 首先,Servlet通过继承`javax.servlet.http.HttpServlet`类来...

    C#代码(验证用户名和密码)

    标签 "C#小程序(验证用户名和密码" 表明这是一个小型的应用程序示例,可能包含了一个简单的用户界面和数据库连接功能,用于演示或教学目的。 根据压缩包子文件的名称,我们可以推测出可能包含的项目: 1. **圆形...

    dwr教程(一)之用户名验证

    首先,我们需要在服务器端创建一个Java类,包含验证用户名的方法。例如,我们可以创建一个`UserService`类,其中有一个`isUserNameExist(String userName)`方法。这个方法会查询数据库,检查输入的用户名是否已被...

    纯AJAX实现用户名验证

    【描述】虽然描述为空,但可以推断这篇博文可能详细讲解了如何通过AJAX技术实现在用户输入用户名时,后台验证用户名是否已存在或符合特定规则,避免用户提交表单后才发现问题,提高用户体验。 【标签】"源码 工具...

    Ajax验证用户名已存在

    在"Ajax验证用户名已存在"这个场景中,我们主要探讨的是如何利用Ajax技术实现在用户输入用户名时,后台实时检查该用户名是否已被注册。 在前端,通常我们会有一个表单,包含一个输入框让用户输入用户名,以及一个...

Global site tag (gtag.js) - Google Analytics