微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ajax 验证用户名唯一性数据校验

注:本文中使用到的一些类库在前面文章都能找到源代码,我会在文中指明链接所在,为了缩短文章篇幅,由此带来的阅读不便,敬请谅解。

本文要说明的是如何使用 Ajax 验证用户名是否被注册。当您注册某网站的时候,输入用户名,鼠标光标一离开,就会提示,您的用户名是否被注册,本文将为您展现程序流程。

首先,我们得先需要一个表单页面 index.html,代码清单如下:

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  

<html>  

<head>  

<Meta http-equiv="Content-Type" content="text/html; charset=UTF-8">  

<script type="text/javascript" src="js/ajax.js"></script> <!-- 载入 Ajax 类库 -->  

<title>Ajax 验证用户名</title>  

<style type="text/css">  

    body {  

        font-size:12px;   

    }  

</style>  

</head>  

<body>  

    <form action="reg.PHP" method="post">  

        username:<input type="text" value="" onBlur="validate(this.value);" name="username"> <span id="userText"></span><br />  

        password:<input type="password" value="" name="password"><br />  

        <input type="button" value="Submit">  

    </form>  

</body>  

</html>  

代码清单中,我们加载了一个 Ajax 类库,这个类库可以在 http://blog.csdn.net/liruxing1715/article/details/7212781 文章中找到(并附有使用方法);放置了一个用户名文本框(input);并且放置了一个 onBlur(鼠标光标离开事件);用户名文本框后面放置一个 SPAN 标签,用于显示提示信息。

当您输入用户名后,就会触发事件 validate(val) 函数,validate(val) 的函数代码清单如下:

<script type="text/javascript">  

    /** 

    * validate(val) 光标离开后触发事件 

    * @param string val 输入的文本 

    * @return string 返回验证是否成功 

    */  

    function validate(val) {  

        var userText = document.getElementById('userText'); // 获取 SPAN 对象  

        // 如果为空或者输入空格执行  

        if (!(val.match(/^S+$/))) {  

            userText.innerHTML = '<font color="red">请输入用户名!</font>';  

        } else {  

            if (val.length<2) {  

                userText.innerHTML = '<font color="red">用户名个数必须大于两位!</font>';  

            } else {  

                var ajax = Ajax(); // 创建 Ajax 对象  

                // 通过 Ajax POST 方法用户名提交到 validate.PHP 进行验证用户名是否存在,并返回结果  

                ajax.post('validate.PHP',{username:val},function(data){  

                    userText.innerHTML = data; // Ajax 返回的值显示在 SPAN 标签上    

                });  

            }  

        }  

    }  

</script>  

validate.PHP (验证文件)

<?PHP  

require_once './config.inc.PHP';  

$m = new Model(); // 实例化一个数据库操作类  

$username = $_POST['username']; // 接受传递过来的用户名  

$count = $m->total('user',"name='{$username}'"); // $count 用户名数据库出现的次数  

if (intval($count)>0) {  

    echo '<font color="red">抱歉,'. $username .'已被注册,请更换!</font>';  

} else {  

    echo '<font color="green">恭喜,'. $username .'可以注册!</font>';  

}  

?>  

validate.PHP 文件中的 config.inc.PHP 文件主要就是定义一些常量,比如:数据库用户名数据库密码、主机……,数据库连接类库(Db.class.PHP)和数据库操作类库(Model.class.PHP),请参考文章 http://blog.csdn.net/liruxing1715/article/details/7176671,附有使用方法数据库结构一个主键、一个字段 name 即可。

程序效果图:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐