2012年9月4日 星期二

驗證

http://lzf0514.iteye.com/blog/724244
之前遍查不到validator的addMethod用法 官方的文件也不是說的很明白 由於我需要用正規化來做一些原本validator沒有的驗証規則

所以只能用addMethod的方法 大家可以參考下列的用法 用addMethod新增一個規則後 你可以自訂要針對這個規則所做出反應跟自訂錯誤訊息! 如果要套用這個規則,可以在html 元件中,加上class="自訂規則名" 即可套用了! 我研究的沒有很透徹啦..但可以用就好..
  1. < script type = " text/javascript " >
  2. $ ( document ) . ready ( function ( e )   {
  3. jQuery . validator . addMethod ( " test " , function (   value , element ) { //設增一個自訂規則test
  4. var   result = this . optional ( element ) || value . length >= 5 && / d / . test ( value ) && / [a-zA-Z] /i . test ( value ) ;
  5. //用正規化表示式去設定validator所沒有的驗証規則
  6. if ( ! result ){
  7.   element . value = "" ; //控制套用自訂規則的元件的程式碼可以在此設定
  8. }
  9. return   result ;
  10. } , " 自訂錯誤訊息.<br> " ) ;
  11. }) ;           
  12. < / script> <form> <input type="text" id="t1" class="test"> < / form >
  13. --------------------
  14. $(function ()
    {
        if (jQuery.validator)
        {
            //字母数字
            jQuery.validator.addMethod("alnum", function (value, element)
            {
                return this.optional(element) || /^[a-zA-Z0-9]+$/.test(value);
            }, "只能包括英文字母和数字");
            


            // 手机号码验证   
            jQuery.validator.addMethod("cellphone", function (value, element)
            {
                var length = value.length;
                return this.optional(element) || (length == 11 && /^(1\d{10})$/.test(value));
            }, "请正确填写手机号码");


            // 电话号码验证   
            jQuery.validator.addMethod("telephone", function (value, element)
            {
                var tel = /^(\d{3,4}-?)?\d{7,9}$/g;
                return this.optional(element) || (tel.test(value));
            }, "请正确填写电话号码");


            // 邮政编码验证
            jQuery.validator.addMethod("zipcode", function (value, element)
            {
                var tel = /^[0-9]{6}$/;
                return this.optional(element) || (tel.test(value));
            }, "请正确填写邮政编码");


            // 汉字
            jQuery.validator.addMethod("chcharacter", function (value, element)
            {
                var tel = /^[\u4e00-\u9fa5]+$/;
                return this.optional(element) || (tel.test(value));
            }, "请输入汉字");


            // 汉字
            jQuery.validator.addMethod("qq", function (value, element)
            {
                var tel = /^[1-9][0-9]{4,}$/;
                return this.optional(element) || (tel.test(value));
            }, "请输入正确的QQ");


            // 用户名
            jQuery.validator.addMethod("username", function (value, element)
            { 
                return this.optional(element) || /^[a-zA-Z][a-zA-Z0-9_]+$/.test(value);
            }, "用户名格式不正确");
        }
    });

沒有留言:

張貼留言