正则表达式

136 阅读1分钟
// 前瞻:
exp1(?=exp2) 查找exp2前面的exp1
// 后顾:
(?<=exp2)exp1 查找exp2后面的exp1
// 负前瞻:
exp1(?!exp2) 查找后面不是exp2的exp1
// 负后顾:
(?<!exp2)exp1 查找前面不是exp2的exp1

替换为星号

comResetUser () {
    let resetUser = 'ccskhsoiesk'
    let reg = /^(\S{2})\S*(\S{2})$/;
    console.log(resetUser.replace(reg,'$1****$2'))
    return resetUser.replace(reg,'$1****$2')
},
comResetPhone () {
    let resetPhone = '13991367972'
    let reg = /^(\d{3})\d*(\d{4})$/;
    return resetPhone.replace(reg,'$1****$2')
}

手机号

let reg = /^(((13[0-9])|(14[5-9])|(15[0-3,5-9])|(17[0-5,7,8])|(18[0-9])|166|198|199)\d{8})$/
reg.test(value)

长度8~18个字符,必须包含数字、字母和下划线

let reg = /^(?=.*\d)(?=.*[a-zA-Z])(?=.*_.*)[\da-zA-Z_]{8,18}$/
reg.test(value)

长度8~18个字符,必须包含数字、字母

let reg = /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$/
reg.test(value)

整数+小数

let reg = /^\d{1,24}.?\d{1,2}$/
reg.test(value)