常用的正则验证(身份证号,手机号,邮箱等)
身份证号分为18位和15位
18位
地区: ([1-6][1-9]|50)\d{4}
年的前两位: (18|19|20) 1800-2399
年的后两位: \d{2}
月份:((0[1-9])|10|11|12)
天数: (([0-2][1-9])|10|20|30|31) 闰年不能禁止29+
三位顺序码: \d{3}
校验码: [0-9Xx]
let reg18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
15位
地区:[1-6][1-9]\d{4}
年份只有后两位:\d{2}
月份:((0[1-9])|10|11|12)
天数:(([0-2][1-9])|10|20|30|31) 闰年不能禁止29+
三位顺序码: \d{3}
let reg15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/
同时校验18位和15位的身份证
let reg18 = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
let reg15 = /^([1-6][1-9]|50)\d{4}\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}$/
if( reg18.test( idVal ) || reg15.test( idVal ) ) {
console.log(' 验证通过 ')
} else {
console.log(' 验证未通过 ')
}
手机号
let reg = /^1[3-9]\d{9}$/;
密码: 6位数字与字母组合的密码
let reg =/^(?![0-9]+$)(?![a-zA-Z]+$)(?!([^(0-9a-zA-Z)]|[\(\)])+$)([^(0-9a-zA-Z)]|[\(\)]|[a-zA-Z]|[0-9]){6,}$/;
中文: 2-5个中文字符
let reg = /^[\u4e00-\u9fa5]{2,5}$/;
邮箱
let reg=/^[A-Za-z0-9\u4e00-\u9fa5]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
微信号
let reg= /^[a-zA-Z][a-zA-Z0-9_-]{5,19}$/;
座机
let reg =/^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;