标签 JS 下的文章

JS - 正则表达式

;
(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]+$/, 
        //长度为3-20的所有字符,
        isChar3_20: /^.{3,20}$/, 
        //由26个英文字母组成的字符串
        isEn: /^[A-Za-z]+$/, 
        //由26个大写英文字母组成的字符串
        isEnAndUpper: /^[A-Z]+$/, 
        //由26个小写英文字母组成的字符串
        isEnAndLower: /^[a-z]+$/, 
        //由数字、26个英文字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$
        isDigitOrEnOr_Fixed: /^\w+$/, 
        //中文、英文、数字包括下划线
        isZhOrEnOrDigitOr_Fixed: /^[\u4E00-\u9FA5A-Za-z0-9_]+$/, 
        //中文、英文、数字但不包括下划线等符号 ^[\u4E00-\u9FA5A-Za-z0-9]+$ 或 ^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
        isZhOrEnOrDigitFixed: /^[\u4E00-\u9FA5A-Za-z0-9]+$/, 
        //输入含有^%&/,;=?$\
        isContainIllegalChar: /[^%&\/,;=?$\x22]+/, 
        //Email地址
        isEmail: /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/,
        //域名
        isDomain: /[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\/.?/, 
        //[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
        isInternetURL: /^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}$/, 
        //身份证号(15位、18位数字)
        isIDCard: /^\d{15}|\d{18}$/, 
        //^([0-9]){7,18}(x|X)?$ 或 ^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
        isShortIDCard: /^([0-9]){7,18}(x|X)?$/, 
        //帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线)
        isIllegalUserName: /^[a-zA-Z][a-zA-Z0-9_]{4,15}$/, 
        //密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线)
        isPwd: /^[a-zA-Z]\w{5,17}$/, 
        //强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间)
        isPowerPwd: /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$/, 
        //日期格式
        isDate: /^\d{4}-\d{1,2}-\d{1,2}/, 
        //(01~09和10~12)
        isMonth: /^(0?[1-9]|1[0-2])$/, 
        //一个月的31天(01~09和10~31)
        isDay: /^((0?[1-9])|((1|2)[0-9])|30|31)$/, 
        //金钱
        isMoney: /^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$/, 
        //xml
        isXml: /^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$/, 
        //(包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1))
        isDoubleByte: /[^\x00-\xff]/,
        //空白字符
        isWritespace: /[\s+]/, 
        // (腾讯QQ号从10000开始)
        isQQ: /[1-9][0-9]{4,}/, 
        //(中国邮政编码为6位数字)
        isZipCode: /[1-9]\d{5}(?!\d)/, 
        //IP
        isIpaddress: /((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))/, 
    };
    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;
}));

JS - 获取昨天、今天的日期

获取昨天日期

function yesterday() {
    var timenow = new Date();
    timenow.setDate(timenow.getDate() - 1); //设置天数 -1 天,昨天的日期
    var y = timenow.getFullYear();//年
    var m = timenow.getMonth() + 1;//月
    m = m < 10 ? '0' + m : m;
    var d = timenow.getDate();//日
    d = d < 10 ? ('0' + d) : d;
    var yesterdayTime = y + '/' + m + '/' + d;//yyyy/mm/dd格式
    return yesterdayTime;
}

阅读全文

JS - 字符串指定位置添加元素

/* 
 * str1:原字符串
 * n:插入位置
 * str2:插入元素
 */
function insertStr(str1, n, str2){
    var s1 = '';
    var s2 = '';
    if(str1.length<n){
        return str1 + str2;
    }else{
        s1 = str1.substring(0, n);
        s2 = str1.substring(n, str1.length);
        return s1 + str2 + s2;
    }
}

JS - 字符串显示相应长度

/* 
 * str:字符串
 * num:显示位数
 */
function opStr(str, num){
    var str1 = str;
    var str2 = '';
    if(str1.length>num){
        str2 = str1.substring(0, num) + '..';
    }else{
    str2 = str1;
    }
    return str2;
}