常用正则表达式整理

123 阅读1分钟

1、手机号校验

const phoneReg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/
const phoneStr = '15500877736'
console.log(phoneReg.test(phoneStr))  // true

2、身份证校验

const idReg = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
const idStr = '410311199812267746'  // 虚假证号
console.log(idReg.test(idStr))  // true

3、邮箱校验

const emailReg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/
const emailStr = 'chrisycs@163.com'
console.log(emailReg.test(emailStr))  // true

4、URL校验

const urlReg = /^((https?|ftp|file):\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
const urlStr = 'https://haha. sunshine.com/xxx/xxx'
console.log(urlReg.test(urlStr))  // true

5、日期校验

const dateReg = /^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/   //YYYY-MM-DD hh:mm:ss

const dateReg1= /^\d{4}(\-)\d{1,2}\1\d{1,2}$/   // YYYY-MM-DD

const dateStr ='2021-10-10'
const datestr1 = '2021-10-10 16:16:16'
console.log( dateReg.test( dateStr1)) // true
console.log( dateReg1.test(datestr))  // true

6、整数校验

const intReg = /^[-+]?\d*$/
const intNuml = 12345
console.log( intReg.test(intNum1)) // true
const intNum2 = 12345.1
console.log( intReg.test( intNum2)) // false

7、小数校验

const floatReg = /^[-\+]?\d+(\.\d+)?$/
const floatNum = 1234.5
console.log( floatReg.test( floatNum)) // true

8、 保留n位小数校验

function checkFloat(n){
  return new RegExp(`^([1-9]+[\d]*(.[0-9]{1,${n}})?)$`)
} 
const floatReg = checkFloat(2)
const floatNuml = 1234.5console.log( floatReg.test( floatNum1)) // true
const floatNum2 = 1234.55console.log( floatReg.test( floatNum2)) // true
const floatNum3 = 1234.555console.log( floatReg.test( floatNum3)) // false

9、邮政编码校验

const postalNoReg = /^(0[1-7]|1[0-356]|2[0-7]|3[0-6]|4[0-7]|5[1-7]|6[1-7]|7[0-5]|8[013-6])\d{4}$/
const postalNoStr1 = 522000
console.log( postalNoReg.test(postalNoStr1)) // true
const postalNoStr2 =5220000
console.log( postalNoReg.test(postalNoStr2)) // false

10、密码校验

const passReg = /^\S*(?=\S{6,})(?=\S*\d)(?=\S*[A-Z])(?=\S*[a-z])(?=\S*[!@#$%^&*? ])\S*$/
//  密码强度校验,最少6位,包括至少1个大写字母,1个小写字母,1个数字,1个特殊字符
const passStr = 'Chris666.'
console.log( passReg.test(passStr)) // true

未带待续...

eede1c6e-15da-4161-aab4-686b86c3623d.png