表单 验证,手机 ,QQ,电子邮箱,数字,邮政编码,身份证,手机号 & 电话

好吧写一个自己的表单验证,临时的。

后面还更新:现在依赖jq

//表单验证 
    function testInput(o,attr,yfn,nfn,run){
        var re = {
            'age'    :/^[^0]d{0,2}$/,
            'null'    :/s/,
            'qq'     : /^[1-9][0-9]{4,9}$/,                    //QQ
            'email' : /^w+@[a-z0-9]+(.[a-z]+){1,3}$/, //电子邮箱
            'number': /^d+$/,                            //数字
            'mail'    :/^[1-9]d{5}$/,                        //邮政编码
            'id'    :/^[1-9]d{14}|[1-9]d{17}|[1-9]d{16}x$/,    //身份证
            'call'    :/(^(d{3,4}-)?d{7,8})$|(1[3,4,5,8][0-9]{9})/    //手机号 & 电话
        };
        
        function fyes(){
            o.removeClass('no_verify');
            if(yfn)yfn()
            return o.val();
        }
        function fno(){
            o.addClass('no_verify');
            if(nfn)nfn()
            console.log('错误信息:'+attr)
            return false;
        }
        function go(){
            if(attr && typeof attr !='number'){
                if(o.val() && re[attr].test(o.val())){
                    return fyes()
                }else{
                    return fno()
                }
            }else if(attr && typeof attr =='number'){
                if(o.val().length>attr){
                    return fyes()
                }else{
                    return fno()
                }
            }else if(!attr){
                if(o.val()){
                    return fyes()
                }else{
                    return fno()
                }
            }
        };
        if(run){ return go() }    //run=true  验证一下表单
        o.blur(go);
    };


试用方法  ://testInput(  JQ对象 ,  '验证属性 || 不传值验证表单不为空 || 数字 验证字节不少于这个数' , '验证成功fn'  ,  '失败fn' , 要不要自执行)

(最后一个值为 false :验证成功返回值,不成功会返回false; 这里还会对表单加一个class样式:no_verify)

var f2=testInput($('#phone'), 'call','','',false)  //验证是不是电话或手机

var f5=testInput($('#userName'), '','','',false) //表单不为空

var f12=testInput($('#reason'),20,'','',false)  //表单不小于20个

原文地址:https://www.cnblogs.com/SongYiJian/p/5547702.html