天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

FormValid0.5版本發(fā)布,帶ajax自定義驗證例子

最新更新修改了當(dāng)input元件name有包含[],把焦點移到元件上時會出現(xiàn)JS錯誤,只有IE是這種情況,沒找到很好的解決辦法,我只是把這種情況給排除了,就是當(dāng)元件name有包含[]不把焦點移上去,哪果有好的解決辦法請聯(lián)系我。
并作了 demo8 - 結(jié)合jquery實現(xiàn)ajax自定義驗證
下載:formvalid.zip 復(fù)制代碼 代碼如下:
/*
 * Copyright (c) 2006-2008 coderhome.NET
 * All rights reserved.
 * Support : 志凡([email protected])
 *
 * Version :  0.5
 */

var FormValid = function(frm) {
    this.frm = frm;
    this.errMsg = new Array();
    this.errName = new Array();

    this.required = function(inputObj) {
        if (typeof(inputObj) == "undefined" || inputObj.value.trim() == "") {
            return false;
        }
        return true;
    }

    this.eqaul = function(inputObj, formElements) {
        var fstObj = inputObj;
        var sndObj = formElements[inputObj.getAttribute('eqaulName')];

        if (fstObj != null && sndObj != null) {
            if (fstObj.value != sndObj.value) {
               return false;
            }
        }
        return true;
    }

    this.gt = function(inputObj, formElements) {
        var fstObj = inputObj;
        var sndObj = formElements[inputObj.getAttribute('eqaulName')];

        if (fstObj != null && sndObj != null && fstObj.value.trim()!='' && sndObj.value.trim()!='') {
            if (fstObj.value <= sndObj.value) {
                 return false;
            }
        }
        return true;
    }

    this.compare = function(inputObj, formElements) {
        var fstObj = inputObj;
        var sndObj = formElements[inputObj.getAttribute('objectName')];
        if (fstObj != null && sndObj != null && fstObj.value.trim()!='' && sndObj.value.trim()!='') {
            if (!eval('fstObj.value' + inputObj.getAttribute('operate') + 'sndObj.value')) {
                 return false;
            }
        }
        return true;
    }

    this.limit = function (inputObj) {
        var len = inputObj.value.length;
        if (len) {
            var minv = inputObj.getAttribute('min');
            var maxv = inputObj.getAttribute('max');
            minv = minv || 0;
            maxv = maxv || Number.MAX_VALUE;
            return minv <= len && len <= maxv;
        }
        return true;
    }

    this.range = function (inputObj) {
        var val = parseInt(inputObj.value);
        if (inputObj.value) {
            var minv = inputObj.getAttribute('min');
            var maxv = inputObj.getAttribute('max');
            minv = minv || 0;
            maxv = maxv || Number.MAX_VALUE;

            return minv <= val && val <= maxv;
        }
        return true;
    }

    this.requireChecked = function (inputObj) {
        var minv = inputObj.getAttribute('min');
        var maxv = inputObj.getAttribute('max');
        minv = minv || 1;
        maxv = maxv || Number.MAX_VALUE;

        var checked = 0;
        var groups = document.getElementsByName(inputObj.name);

        for(var i=0;i<groups.length;i++) {
            if(groups[i].checked) checked++;

        }
        return minv <= checked && checked <= maxv;
    }

    this.filter = function (inputObj) {
        var value = inputObj.value;
        var allow = inputObj.getAttribute('allow');
        if (value.trim()) {
            return new RegExp("^.+/.(?=EXT)(EXT)$".replace(/EXT/g, allow.split(//s*,/s*/).join("|")), "gi").test(value);
        }
        return true;
    }

    this.isNo = function (inputObj) {
        var value = inputObj.value;
        var noValue = inputObj.getAttribute('noValue');
        return value!=noValue;
    }
    this.checkReg = function(inputObj, reg, msg) {
        inputObj.value = inputObj.value.trim();

        if (inputObj.value == '') {
            return;
        } else {
            if (!reg.test(inputObj.value)) {
                this.addErrorMsg(inputObj.name,msg);
            }
        }
    }

    this.passed = function() {
        if (this.errMsg.length > 0) {
            FormValid.showError(this.errMsg,this.errName,this.frm.name);
            if (this.errName[0].indexOf('[')==-1) {
                frt = document.getElementsByName(this.errName[0])[0];
                if (frt.type!='radio' && frt.type!='checkbox') {
                    frt.focus();
                }
            }
            return false;
        } else {
          return FormValid.succeed();
        }
    }

    this.addErrorMsg = function(name,str) {
        this.errMsg.push(str);
        this.errName.push(name);
    }

    this.addAllName = function(name) {
        FormValid.allName.push(name);
    }

}
FormValid.allName = new Array();
FormValid.showError = function(errMsg) {
    var msg = "";
    for (i = 0; i < errMsg.length; i++) {
        msg += "- " + errMsg[i] + "/n";
    }

    alert(msg);
}
FormValid.succeed = function () {
    return true;
}
function validator(frm) {
    var formElements = frm.elements;
    var fv = new FormValid(frm);

    for (var i=0; i<formElements.length;i++) {
        var validType = formElements[i].getAttribute('valid');
        var errorMsg = formElements[i].getAttribute('errmsg');
        if (!errorMsg) {
            errorMsg = '';
        }
        if (validType==null) continue;
        fv.addAllName(formElements[i].name);

        var vts = validType.split('|');
        var ems = errorMsg.split('|');
        for (var j=0; j<vts.length; j++) {
            var curValidType = vts[j];
            var curErrorMsg = ems[j];

            switch (curValidType) {
            case 'isNumber':
            case 'isEmail':
            case 'isPhone':
            case 'isMobile':
            case 'isIdCard':
            case 'isMoney':
            case 'isZip':
            case 'isQQ':
            case 'isInt':
            case 'isEnglish':
            case 'isChinese':
            case 'isUrl':
            case 'isDate':
            case 'isTime':
                fv.checkReg(formElements[i],RegExps[curValidType],curErrorMsg);
                break;
            case 'regexp':
                fv.checkReg(formElements[i],new RegExp(formElements[i].getAttribute('regexp'),"g"),curErrorMsg);
                break;
            case 'custom':
                if (!eval(formElements[i].getAttribute('custom')+'(formElements[i],formElements)')) {
                    fv.addErrorMsg(formElements[i].name,curErrorMsg);
                }
                break;
            default :
                if (!eval('fv.'+curValidType+'(formElements[i],formElements)')) {
                    fv.addErrorMsg(formElements[i].name,curErrorMsg);
                }
                break;
            }
        }
    }
    return fv.passed();
}
String.prototype.trim = function() {
    return this.replace(/^/s*|/s*$/g, "");
}
var RegExps = function(){};
RegExps.isNumber = /^[-/+]?/d+(/./d+)?$/;
RegExps.isEmail = /([/w-/.]+)@((/[[0-9]{1,3}/.[0-9]{1,3}/.[0-9]{1,3}/.)|(([/w-]+/.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(/]?)/;
RegExps.isPhone = /^((/(/d{2,3}/))|(/d{3}/-))?(/(0/d{2,3}/)|0/d{2,3}-)?[1-9]/d{6,7}(/-/d{1,4})?$/;
RegExps.isMobile = /^((/(/d{2,3}/))|(/d{3}/-))?13/d{9}$/;
RegExps.isIdCard = /(^/d{15}$)|(^/d{17}[0-9Xx]$)/;
RegExps.isMoney = /^/d+(/./d+)?$/;
RegExps.isZip = /^[1-9]/d{5}$/;
RegExps.isQQ = /^[1-9]/d{4,10}$/;
RegExps.isInt = /^[-/+]?/d+$/;
RegExps.isEnglish = /^[A-Za-z]+$/;
RegExps.isChinese =  /^[/u0391-/uFFE5]+$/;
RegExps.isUrl = /^http:////[A-Za-z0-9]+/.[A-Za-z0-9]+[//=/?%/-&_~`@[/]/':+!]*([^<>/"/"])*$/;
RegExps.isDate = /^/d{4}-/d{1,2}-/d{1,2}$/;
RegExps.isTime = /^/d{4}-/d{1,2}-/d{1,2}/s/d{1,2}:/d{1,2}:/d{1,2}$/;

本地下載

JavaScript技術(shù)FormValid0.5版本發(fā)布,帶ajax自定義驗證例子,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 日韩在线 无码 精品 | 国产精品嫩草影院一区二区三区 | 精子射到丝袜上图 | 5G在线观看免费年龄确认18 | 牛牛在线国产精品 | 国产午夜精品不卡观看 | 性直播免费| 中文字幕亚洲乱码熟女在线 | 国产亚洲精品久久久999无毒 | 麒麟色欧美影院在线播放 | md2.pud 麻豆传媒官网 | 狠狠色综合久久丁香婷婷 | 日韩精品免费在线观看 | 91精品乱码一区二区三区 | 晓雪老师我要进你里面好爽 | 97人人看碰人免费公开视频 | 亚洲国产精品一区二区三区在线观看 | 消息称老熟妇乱视频一区二区 | 一道精品视频一区二区 | 国产中文在线观看 | 美女被强奷到抽搐的动态图 | 国内偷拍夫妻av | 日韩高清毛片 | 天天影视色欲 影视 | BL低喘贯穿顶弄老师H | 丰满人妻无码AV系列 | xx顶级欧美熟妞xxhd | 亚洲视频无码高清在线 | 儿子好妈妈的HD3中字抢劫 | 狠狠色狠狠色综合日日91app | 日韩精品一区二区三区色欲AV | 欧美日韩亚洲中字二区 | 欧美亚洲另类图片 | 欧美性xxx极品 | 月夜直播免费观看全集 | 日本人娇小hd | 色欲AV亚洲永久无码精品 | 欧美亚洲国产专区在线 | 一个人免费完整在线观看影院 | 欧美片内射欧美美美妇 | 日韩a在线看免费观看视频 日韩a视频在线观看 |