创建正则表达式,一般有两种写法
javascript
//定义式创建正则,写法:两个斜杠中间放正则式子
const reg = /鸡/;
//new关键字创建正则,写法:两个斜杠中间放正则式子或直接去掉斜杠放字符串式表达式
const regExp = new RegExp('鸡')
.test('需要验证的字符'),正则身上有个方法.test用来验证正则的匹配结果
预定义类
javascript
// .的意思是除了换行和回车之外的任意字符
//如果检测的字符串里面包含 除了换行和回车之外的任意字符 那就返回true,否则返回false.
console.log(/./.test("\r"))// false \r代表return,return表示回到一行的开头
console.log(/./.test("\n"))//false \n代表newline,新的一行
console.log(/./.test("\r\n"))//false \r\n表示换行并将光标定位到一行的开头
console.log(/./.test(""))//false
console.log(/./.test("12klk"))//true
// \d表示数字,d是英文digit的意思
console.log(/\d/.test("kjdksj"));//false
console.log(/\d/.test("kj7ksj"));//true
// \D表示非数字的意思
console.log(/\D/.test("kjdksj"));//true
console.log(/\D/.test("k2"));//true
console.log(/\D/.test("12345"));//false
// \s表示表示不可见字符
console.log(/\s/.test("\t"));//true \t 表示制表符
console.log(/\s/.test("\f"));//true \t 表示换页符
console.log(/\s/.test("\v"));//true \v 表示垂直制表符
console.log(/\s/.test("\n"));//true \n 换行符
console.log(/\s/.test("\r"));//true \r 回车符
console.log(/\s/.test(" "));//true
console.log(/\s/.test("jhsjhsdh"));//false
// \S表示表示可见字符 跟小s相反
console.log(/\S/.test("\t"));//false
console.log(/\S/.test("jinitaimei"));//true
// \w表示单词字符(所有单词和数字以及下划线_)
console.log(/\w/.test("rerer3434"));//true
console.log(/\w/.test("3434"));//true
console.log(/\w/.test("wewewe"));//true
console.log(/\w/.test("___ "));//true
console.log(/\w/.test("@##$$"));//false
// \W表示非单词字符(所有非单词和数字以及下划线_)
console.log(/\W/.test("rerer3434"));//false
console.log(/\W/.test("3434"));//false
console.log(/\W/.test("wewewe"));//false
console.log(/\W/.test("___wewe"));//false
console.log(/\W/.test("@##$$"));//true
自定义类
javascript
console.log(/鸡/.test("鸡霓太美"));//true
console.log(/鸡/.test("基尼太美"));//false
或跟优先级
javascript
// a|b 表示或,此处表示字母a或者b
console.log(/a|b/.test("asasas"));//true
console.log(/a|b/.test("sbbbbbbbb"));//true
console.log(/a|b/.test("dfdfdfdf"));//false
// q(a|b)q 表示优先计算(a|b),跟普通的数学运算一样
console.log(/q(a|b)q/.test("qaq"));//true
console.log(/q(a|b)q/.test("qbq"));//true
console.log(/q(a|b)q/.test("qaa"));//false
console.log(/q(a|b)q/.test("qqqq"));//false
简单类
javascript
// [abc]表示abc中的任意一个
console.log(/[abc]/.test("qaq"));//true
console.log(/[abc]/.test("bbbc"));//true
console.log(/[abc]/.test("cc1213"));//true
console.log(/[abc]/.test("dddfff"));//false
console.log(/a[abc]a/.test("aaa"));//true
console.log(/a[abc]a/.test("aca"));//true
console.log(/a[abc]a/.test("aa"));//false
范围类
javascript
// [a-z]表示范围类a到字母z,[0-9]表示范围类0到数字9
console.log(/[a-z]/.test("qaq"));//true
console.log(/[a-z]/.test("cc"));//true
console.log(/[a-z]/.test("2323"));//false
console.log(/[0-9]/.test("2"));//true
console.log(/[0-9]/.test("20"));//true
console.log(/[0-9]/.test("wewe"));//false
负向类
javascript
// [^aa]表示除aa字符以外的任意字符
console.log(/[^aa]/.test("aa"));//false
console.log(/[^aa]/.test("vvvvvvvvaa"));//true
console.log(/[^aa]/.test("wewewe"));//true
console.log(/[^aa]/.test("12wewea"));//true
组合类
待更新