简单全面的正则表达式

143 阅读1分钟

正则表达式

检验是否为全数字

function isNum(s) {
    var rg = /^[0-9]{1,20}$/;
    return rg.test(s)
}

检验是否为mail邮箱

function isMail(src){
    let rg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]){2,3})$/;
    return rg.test(src)
}

检验登录:只能输入5-20个以字母开头、可带数字、"_"、"."的字串

function isLoginName(name){
    let rg = /^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/
    return rg.test(name)
}

检验普通电话号码、座机号码、传真机号码

// 检验普通电话、传真号码:可以'+'开头,除数字外、可含'-'
const MobileTypeNormalReg = /^\+?[1-9]{1,12})+$/;
const MobileTypeLandlineReg = /^\d{2,4}-?\d{2,4}-?\d{2,4}-?\d{4,12}$/; // 座机 86-10-66778899
const MobileTypeFaxReg = /^\+?\d{8-14}+$/; // 传真 +8601026737123
function isMobile(mobile: string){
    let rg = MobileTypeNormalReg;
    for (let i = 0; i < mobile.length; i++) {
        if (mobile[i] === '+') {
            rg = MobileTypeFaxReg;
            break;
        } else if (mobile[i] === '-') {
            rg = MobileTypeLandlineReg;
            break;
        }
    }
    return rg.test(mobile)
}