日期:2014-05-16  浏览次数:20403 次

验证(Javascript和正则表达式)

昨天写了验证(C#和正则表达式),今天又写了个js版的验证。现在贴出来,为了方便自己查阅,同时也希望能给需要的人帮助和一些启发。由于今天才开始接触js,所以可能会有一些错漏,希望大家能批评指正。

var Validator = {
    VerityLib: {
        //验证字符串非空
        IsNotEmpty: function (input) {
            if (input != '') {
                return true;
            } else {
                return false;
            }
        },
        //验证数字(double类型) [可以包含负号和小数点]
        IsNumber: function (input) {
            var regex = /^-?\d+$|^(-?\d+)(\.\d+)?$/;
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证整数
        IsInteger: function (input) {
            var regex = /^-?\d+$/;
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证非负整数
        IsIntegerNotNagtive: function (input) {
            var regex = /^\d+$/;
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证正整数
        IsIntegerPositive: function (input) {
            var regex = /^[0-9]*[1-9][0-9]*$/;
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证小数
        IsDecimal: function (input) {
            var regex = /^([-+]?[1-9]\d*\.\d+|-?0\.\d*[1-9]\d*)$/;
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证只包含英文字母
        IsEnglishCharacter: function (input) {
            var regex = /^[A-Za-z]+$/;
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证只包含数字和英文字母
        IsIntegerAndEnglishCharacter: function (input) {
            var regex = /^[0-9A-Za-z]+$/;
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证只包含汉字
        IsChineseCharacter: function (input) {
            var regex = /^[\u4e00-\u9fa5]+$/;
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证数字长度范围(数字前端的0计长度)[若要验证固定长度,可传入相同的两个长度数值]
        IsIntegerLength: function (input, lengthBegin, lengthEnd) {
            var pattern = '^\\d{' + lengthBegin + ',' + lengthEnd + '}$';
            var regex = new RegExp(pattern);
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证字符串包含内容
        IsStringInclude: function (input, withEnglishCharacter, withNumber, withChineseCharacter) {
            if (!Boolean(withEnglishCharacter) && !Boolean(withNumber) && !Boolean(withChineseCharacter)) {
                return false; //如果英文字母、数字和汉字都没有,则返回false
            }
            var pattern = '^[';
            if (Boolean(withEnglishCharacter)) {
                pattern += 'a-zA-Z';
            }
            if (Boolean(withNumber)) {
                pattern += '0-9';
            }
            if (Boolean(withChineseCharacter)) {
                pattern += '\\u4E00-\\u9FA5';
            }
            pattern += ']+$';
            var regex = new RegExp(pattern);
            if (input.match(regex)) {
                return true;
            } else {
                return false;
            }
        },
        //验证字符串长度范围 [若要验证固定长度,可传入相同的两个长度数值]
        IsStringLength: function (input, LengthBegin, LengthEnd) {
            var pattern = '^.{' + lengthBegin + ',' + lengthEnd + '}$';
            var regex = new RegExp(patt