前端开发中常用正则表达式

创建js文件,在页面中直接使用

/**
 * 常用正则表达式
 */
export const regExps = {
    /** url校验 */
    url: new RegExp('^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\S+(?::\\S*)?@)?(?:(?:(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[0-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))|localhost)(?::\\d{2,5})?(?:(/|\\?|#)[^\\s]*)?$', 'i'),
    /** email校验 */
    email: /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
    /** 身份证号校验 */
    idCard: /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X|x)$/,
    /** 英文字母、数字 组成的字符串校验 */
    letterOrNum: new RegExp('^[0-9a-zA-Z]+$'),
    /** 英文字母、数字、_ 组成的字符串校验 */
    letterOrNum_: new RegExp('^[0-9a-zA-Z\_]+$'),
    /** 正整数 */
    pInt: new RegExp('^[1-9]\\d*$'),
    /** 手机号 */
    phone: new RegExp('^[1][3,4,5,6,7,8,9][0-9]{9}$'),
    /** 校验是否为数字 */
    number: /^[+-]?(([1-9]\d*)|([1-9]\d*\.\d*)|(0\.\d*)|(0))$/,
    /** 校验是否为整数 */
    int: /^[+-]?\d+$/,
    /** 校验是否为手机号或者座机号 */
    phoneOrTel: /^([0]\d{2,3}[-]?\d{7,8})|[4,8]00[-]?[0-9]{7}|[0-9]{8}|([1][3-9][0-9]{9})$/
};
/**
 * 校验URL地址是否正确
 * @param url
 * @returns {boolean}
 */
export function validateURL(url) {
    const reg = regExps.url;
    return reg.test(url);
}

/**
 * 校验email 地址是否正确
 * @param email
 * @returns {boolean}
 */
export function validateEmail(email) {
    const reg = regExps.email;
    return reg.test(email);
}

/**
 * 是否是身份证号
 * @param cardNo
 */
export function validateIdCardNo(cardNo) {
    const reg = regExps.idCard;
    return reg.test(cardNo);
}

/**
 * 检查字符串是否由英文字母、数字组成
 * @param str
 */
export function validateLetterOrNum(str) {
    const reg = regExps.letterOrNum;
    return reg.test(str);
}

/**
 * 检查字符串是否由英文字母、数字、下划线组成
 * @param str
 */
export function validateLetterOrNum_(str) {
    const reg = regExps.letterOrNum_;
    return reg.test(str);
}

/**
 * 校验是否为正整数
 * @param str
 */
export function validatePInt(str) {
    const reg = regExps.pInt;
    return reg.test(str);
}
/**
 * 校验是否为整数
 * @param {*} str
 */
export function validateInt(str) {
    const reg = regExps.int;
    return reg.test(str);
}
/**
 * 校验是否为手机号或者座机号
 */
export function validatePhoneOrTel(str) {
    const reg = regExps.phoneOrTel;
    return reg.test(str);
}

export default {
    isURL: validateURL,
    isEmail: validateEmail,
    isIdCardNo: validateIdCardNo,
    isLetterOrNum: validateLetterOrNum,
    isLetterOrNum_: validateLetterOrNum_,
    isPInt: validatePInt
};```

```css
/**
 * trim去掉字符串两边的指定字符,默认去空格
 * @param str
 * @param tag
 * @returns {string | void | *}
 */
export function trimStr(str, tag) {
    if (!isString(str)) {
        return str;
    }
    if (!tag) {
        tag = '\\s';
    } else {
        if (tag == '\\') {
            tag = '\\\\';
        } else if (tag == ',' || tag == '|' || tag == ';') {
            tag = '\\' + tag;
        } else {
            tag = '\\s';
        }
    }
    const reg = new RegExp('(^' + tag + '+)|(' + tag + '+$)/g');
    return str.replace(reg, '');
};

/**
 * 字符串截取后面加入...
 * @param str
 * @param len
 * @returns {*}
 */
export function interceptStr(str, len) {
    if (!isString(str)) {
        return str;
    }
    if (str.length > len) {
        return str.substring(0, len) + '...';
    } else {
        return str;
    }
};

/**
 * 将一个字符串用给定的字符变成数组
 * @param str
 * @param tag
 * @returns {*}
 */
export function strToArray(str, tag) {
    if (!isString(str)) {
        return str;
    }
    if (str.indexOf(tag) != -1) {
        return str.split(tag);
    } else {
        if (str != '') {
            return [str.toString()];
        } else {
            return [];
        }
    }
};

/**
 * 保留字符串中数字
 * @param str
 * @returns {string | void | *}
 */
export function strToNumber(str) {
    if (!isString(str)) {
        return str;
    }
    return Number(str.replace(/\D/g, ''));
};

/**
 * 保留字符串中中文内容
 * @param str
 * @returns {string | void | *}
 */
export function strToCN(str) {
    if (!isString(str)) {
        return str;
    }
    var regEx = /[^\u4e00-\u9fa5\uf900-\ufa2d]/g;
    return str.replace(regEx, '');
};

/**
 * 将字符串转成int
 * @param str
 * @returns {any}
 */
export function strToInt(str) {
    if (!isString(str)) {
        return str;
    }
    var temp = str.replace(/\D/g, '');
    return isNaN(parseInt(temp)) ? str.toString() : parseInt(temp);
};

/**
 * 将字符串中s1的值替换为s2的值
 * @param str
 * @param s1
 * @param s2
 * @returns {string | void | *}
 */
export function replaceAll(str, s1, s2) {
    if (!isString(str)) {
        return str;
    }
    return str.replace(new RegExp(s1, 'gm'), s2);
};

/**
 * 判断字符串是为null或""或"   "
 * @param str
 */
export function isBlankStr(str) {
    return stripToEmpty(str) === '';
};

/**
 * 判断字符串不是null或""或"   "
 * @param str
 */
export function isNotBlankStr(str) {
    return stripToEmpty(str) !== '';
};

/**
 * 去除字符串首尾空格,将null,转换成""
 * @param str
 */
export function stripToEmpty(str) {
    return (typeof (str) === 'undefined' || str === null) ? '' : trimStr(str);
};
/**
 * 判断对象是否为字符串
 * @param {*} obj
 */
export function isString(obj) {
    return Object.prototype.toString.call(obj) == '[object String]';
}

export default {
    trim: trimStr,
    interceptStr: interceptStr,
    toArray: strToArray,
    toNumber: strToNumber,
    toCN: strToCN,
    toInt: strToInt,
    replaceAll: replaceAll,
    isBlank: isBlankStr,
    stripToEmpty: stripToEmpty
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值