使用jquery及其扩展来进行客户端数据检测

文章分类:jQuery  查看次数:593 + 102

“用户的输入都是不可靠的”,忘了是哪位牛人说的这句话,所以对用户输入的数据进行检测是非常必要的,这里以用户注册为例。

正常情况下,用户注册的数据通常进行客户端和服务端双重检测,而客户端的检测用js写起来总是稍显麻烦,有时还会出现不兼容的情况。而如果通过来实现则会事半功倍。

,我不想再说了,只要是涉及到js编程,我都会把她请出来,今天就要通过她和她的一个插件来完成这项任务。

首先:当然是把两个js文件包含进来

<script src="../-1.1.3.1.pack.js" type="text/javascript"></script>
<script src=".validate.min.js" type="text/javascript"></script>
 

然后就可以进入正题了,一步一步来

$.validator.setDefaults({
    debug: true
});
 

设置默认的状态为debug,这样用户的数据就不会提交了。

接下来是一段比较长的代码,但是不用怕,因为真的挺简单的

//当页面载入完成时,执行以下动作
$().ready(function() {
    $("#myform").validate({
                //设置默认的状态为keyup,也可以设置为blur
        event: "keyup",
                //设定规则
        rules: {
            //对应id为'username'的input
            username: {
                                //必填项
                required: true,
                                //最多和最少的字符数
                rangeLength:[4,16]
            },
            mail: {
                required: true,
                //声明这是一个电子邮件
                email: true
            },
            password: {
                required: true,
                                //最少4个字符
                minLength: 4
            },
            confirm_password: {
                required: true,
                minLength: 4,
                // 与哪个等同,这里是id为password的input等同
                equalTo: "#password"
            },
            agree: "required"
   
        },
       
        //这里是与规则对应的错误代码
        messages: {
            username: {
                                //如果用户名为空,则显示下面的信息
                required: '请输入用户名',
                                //如果字符串的长度不符合,则显示下面的信息
                rangeLength: '用户名必须在4-16个字符之间'
            },
            password: {
                required: '请输入密码',
                minLength: '密码必须大于4个字符'
            },
            confirm_password: {
                required: '请确认你的密码',
                equalTo: '两次密码输入不一致',
                minLength: '密码必须大于4个字符'
            },
            agree: '请同意我们的条款',
            mail: '请输入有效的E-MAIL帐户'

        },
       
        //可选项,当用户的输入符合我们设定的规则时显示
        success: function(label) {
            label.html('√').addClass("success");
        }
    });
});
</script>
 

代码里写了注释,看起来应该还是比较容易理解的吧,最后就是一个form

<form id="myform" action="index.html" method="get" >
    <fieldset>
     <legend>用户注册界面</legend>
          <p><label for="username">用户名:</label>
<input type="text" name="username" id="username" />

          <p><label for="mail">电子邮件地址:</label>
<input type="text" name="mail" id="mail" />

          <p><label for="password">密码:</label>
<input type="password" name="password" id="password" />

          <p><label for="confirm_password">密码确认:</label>
<input type="password" name="confirm_password" id="confirm_password" />

          <p><label for="agree">请同意我们的条款:</label><input type="checkbox" name="agree" id="agree" />

         
          <div id="submit"><input type="submit" value="Submit" /></div>
    </fieldset>
  </form>
 

表单最好以这种形式来书写,如果不熟悉可以参见我之前翻译过的一片文章,css form design

点此查看示例

如果要查看更详细的说明,点此进入官方网站

评论

共3 条评论 to “使用jquery及其扩展来进行客户端数据检测”

  1. warran on 2007-08-12 10:17 am
    Gravatar

    如此强,有了jquery,我还。。。。

    有日历的插件吗?

    [回复此评论]

  2. lzyy on 2007-08-12 3:20 pm
    Gravatar

    没有找到合适的日历插件,不过倒是有一款独立的弹出日历源码。

    http://dali.mty.itesm.mx/~hugo/js/datepickercontrol/

    这个是我比较各款日历选择后,性价比很不错的一款

    [回复此评论]

  3. aaa on 2007-12-07 1:13 pm
    Gravatar

    用jquery做的好的日历:http://marcgrabanski.com/code/ui-datepicker/

    [回复此评论]

发表评论