常用元字符的详细解析

元字符详细解析

^ $
let reg = /^\d/ 以数字开头
let reg = /\d$/ 以数字结尾
^ $两个都不加:字符串中包含符合规则的内容即可
let reg = /\d+/
^ $两个都加:字符串只能是和规则一致的内容
let reg = /^\d+$/

\
(可以把有意义的转换成无意义的 也可把无意义的转换成有意义的)
基于转义字符,让其只能代表小数点
let reg = /^2\.3$/
把特殊的符号转换为普通的符号
let reg = /^\\d$/

x|y
let reg = /^18|29$/
console.log(reg.test("18")) // => true
console.log(reg.test("29")) // => true
console.log(reg.test("1829")) // => true
console.log(reg.test("182")) // => true
console.log(reg.test("189")) // => true
console.log(reg.test("129")) // => true
console.log(reg.test("829")) // => true
//--- 直接x|y会存在很乱的优先级问题,一般我们写的时候都伴随着小括号进行分组,因为小括号改变处理的优先级 => 小括号:分组
let reg = /^(18|29)$/

[]
// 1、中括号中出现的字符一般都代表本身的含义
let reg = /^[@+]$/
console.log(reg.test("@")) // => true
console.log(reg.test("+")) // => true
console.log(reg.test("@@")) // => false
console.log(reg.test("@+")) // => false

let reg = /^[\d]$/ // => \d在中括号中还是0-9
console.log(reg.test("d")) // => false
console.log(reg.test("\\")) // => false
console.log(reg.test("9")) // => true

//2、中括号中不存在多位数
let reg = /^[18]$/
console.log(reg.test("1")) // => true
console.log(reg.test("8")) // => true
console.log(reg.test("18")) // => false

let reg = /^[10-29]$/ // => 1或者0-2或者9
console.log(reg.test("1")) // => true
console.log(reg.test("0")) // => true
console.log(reg.test("2")) // => true
console.log(reg.test("9")) // => true
console.log(reg.test("10")) // => false

你可能感兴趣的:(RegExp,前端)