收集一些正则表达式

javascript

浏览数:322

2019-1-8

;
(function(root, factory) {
    if (typeof exports === /object/ && typeof module != /undefined/) {
        module.exports = factory();
    } else if (typeof define === /function/ && define.amd) {
        define(factory);
    } else {
        root.RegexExpress = factory();
    }
}(this, function(root, undefined) {
    var RegexExpress = function() {}

    var config = {

        isZH_CN: /^[\u4e00-\u9fa5]{0,}$/, //汉字

        isEnOrDigit: /^[A-Za-z0-9]+$/, //英文和数字

        isChar3_20: /^.{3,20}$/, //长度为3-20的所有字符,

        isEn: /^[A-Za-z]+$/, //由26个英文字母组成的字符串

        isEnAndUpper: /^[A-Z]+$/, //由26个大写英文字母组成的字符串

        isEnAndLower: /^[a-z]+$/, //由26个小写英文字母组成的字符串

        isDigitOrEnOr_Fixed: /^\w+$/, //由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$

        isZhOrEnOrDigitOr_Fixed: /^[\u4E00-\u9FA5A-Za-z0-9_]+$/, //中文、英文、数字包括下划线

        isZhOrEnOrDigitFixed: /^[\u4E00-\u9FA5A-Za-z0-9]+$/, //中文、英文、数字但不包括下划线等符号 ^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$

        isContainIllegalChar: /[^%&\/,;=?$\x22]+/, //输入含有^%&/,;=?$\

        isEmail: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/, //Email地址

        isDomain: /[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\/.?/, //域名

        isInternetURL: /^http:\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?$/, //[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$

        isPhone: /^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$/, //手机号码

        isIDCard: /^\d{15}|\d{18}$/, //身份证号(15位、18位数字)

        isShortIDCard: /^([0-9]){7,18}(x|X)?$/, //^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$

        isIllegalUserName: /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/, //帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)

        isPwd: /^[a-zA-Z]\w{5,17}$/, //密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)

        isPowerPwd: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/, //强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)

        isDate: /^\d{4}-\d{1,2}-\d{1,2}/, //日期格式

        isMonth: /^(0?[1-9]|1[0-2])$/, //(01~09和10~12)

        isDay: /^((0?[1-9])|((1|2)[0-9])|30|31)$/, //一个月的31天(01~09和10~31)

        isMoney: /^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$/, //金钱

        isXml: /^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$/, //xml

        isDoubleByte: /[^\x00-\xff]/, //(包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))

        isWritespace: /[\s+]/, //空白字符

        isQQ: /[1-9][0-9]{4,}/, // (腾讯QQ号从10000开始)

        isZipCode: /[1-9]\d{5}(?!\d)/, //(中国邮政编码为6位数字)

        isIpaddress: /((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/, //IP
    };
    RegexExpress.prototype = {
        isZH_CN: function(str) {
            return config.isZH_CN.test(str);
        },
        isEnOrDigit: function(str) {
            return config.isEnOrDigit.test(str);
        },
        isChar3_20: function(str) {
            return config.isChar3_20.test(str);
        },
        isEn: function(str) {
            return config.isEn.test(str);
        },
        isEnAndUpper: function(str) {
            return config.isEnAndUpper.test(str);
        },
        isEnAndLower: function(str) {
            return config.isEnAndLower.test(str);
        },
        isDigitOrEnOr_Fixed: function(str) {
            return config.isDigitOrEnOr_Fixed.test(str);
        },
        isZhOrEnOrDigitOr_Fixed: function(str) {
            return config.isZhOrEnOrDigitOr_Fixed.test(str);
        },
        isZhOrEnOrDigitFixed: function(str) {
            return config.isZhOrEnOrDigitFixed.test(str);
        },
        isContainIllegalChar: function(str) {
            return config.isContainIllegalChar.test(str);
        },
        isEmail: function(str) {
            return config.isEmail.test(str);
        },
        isDomain: function(str) {
            return config.isDomain.test(str);
        },
        isInternetURL: function(str) {
            return config.isInternetURL.test(str);
        },
        isPhone: function(str) {
            return config.isPhone.test(str);
        },
        isIDCard: function(str) {
            return config.isIDCard.test(str);
        },
        isShortIDCard: function(str) {
            return config.isShortIDCard.test(str);
        },
        isIllegalUserName: function(str) {
            return config.isIllegalUserName.test(str);
        },
        isPwd: function(str) {
            return config.isPwd.test(str);
        },
        isPowerPwd: function(str) {
            return config.isPowerPwd.test(str);
        },
        isDate: function(str) {
            return config.isDate.test(str);
        },
        isMonth: function(str) {
            return config.isMonth.test(str);
        },
        isDay: function(str) {
            return config.isDay.test(str);
        },
        isMoney: function(str) {
            return config.isMoney.test(str);
        },
        isXml: function(str) {
            return config.isXml.test(str);
        },
        isDoubleByte: function(str) {
            return config.isDoubleByte.test(str);
        },
        isWritespace: function(str) {
            return config.isWritespace.test(str);
        },
        isQQ: function(str) {
            return config.isQQ.test(str);
        },
        isZipCode: function(str) {
            return config.isZipCode.test(str);
        },
        isIpaddress: function(str) {
            return config.isIpaddress.test(str);
        },
    }
    return RegexExpress;
}));