js 正则表达式笔记

正则表达式手册网址:正则表达式手册
视频学习推荐:传送门


验证邮箱

/^([a-z0-9_\.-]+)@([a-z0-9\.-]+)\.([a-z\.]{2,6})$/

验证手机号

/^[1][3,4,5,7,8][0-9]{9}$/

验证IP地址

/((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/

验证用户名(3-16位的字母或数字或下划线横线)

/^[A-Za-z0-9_-]{3,16}$/

验证密码(包含大写字母,小写字母,数字,特殊字符,长度为6-18位)

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*?[#?!@$%^&*-]).{6,18}$/

只允许输入中文

let str = '发狂的桔子'
let str2 = '你好hello'
let reg = /^[\u2E80-\u9FFF]+$/
console.log(reg.test(str));     //true
console.log(reg.test(str2));    //false

只匹配中文

let s = 'Hello123.程序员!'
// console.log(s.match(/\p{L}+/gu));   //只匹配非标点符号, 输出:[ 'Hello', '程序员' ]
// console.log(s.match(/\p{P}/gu));    //只匹配标点符号, 输出:[ '.', '!' ]
console.log(s.match(/\p{sc=Han}+/gu));  //只匹配中文, 输出:[ '程序员' ]

隐藏部分字符:

let tel = '123456789'
let reg = /(?<=\d{5})\d{4}/
tel = tel.replace(reg, v => '*'.repeat(4) )
console.log(tel);   // 12345****

你可能感兴趣的:(js,正则表达式,js)