字符类:
1.[] 表示匹配字符集合 [字符集合] 表示在字符集合中都可以通过
语法: /^[字符集合]$/ 表示字符集合中任选一个
2.- 在[] 中使用 - 连字符 表示一个范围
例如:[a-z] 表示 a-z中的字符都可以
3.^ []中加上^ 表示取反 ^为取反符号
语法:/^[^字符集合]$/ 表示除了字符集合中的其他字符都可以
4."." 表示表示除了换行符,任何单个字符都可以
语法:/^.$/
5.\d 等同于[0-9] 匹配任意数字
语法: /^\d$/
6.\D 等同于[^0-9] 匹配除了0-9的任意字符
语法: /^\D$/
7.\w 等同于[0-9a-zA-Z_] 匹配0-9a-zA-Z_中的任意字符
语法: /^\w$/
8.\W 等同于[^0-9a-zA-Z_] 除了0-9a-zA-Z_中的任意字符都可以
语法: /^\W$/
9.\s 匹配任何unicode空白符 " " (空格符)、\r (回车符)、\n (换行符)、\t (制表符) 和 \f (换页符)。
\s 等同于[\f\n\t\r ] 匹配任何unicode空白符 空格 制表符 换行符 回车符
注意: 注意[\f\n\t\r ]里面必须有空格
语法: /^\s$/
10. \S 匹配除了unicode空白符任意其他字符
\S 等同于[^\f\n\t\r ] 匹配除了unicode空白符 空格 制表符 换行符 回车符的其他字符
语法: /^\S$/
注意: [\s\S] 可以表示所有字符
代码模块展示:
<script>
// [] 表示匹配字符集合
// abc 中任选一个
console.log(/^[abc]$/.test('a')) // true
console.log(/^[abc]$/.test('b')) // true
console.log(/^[abc]$/.test('c')) // true
console.log(/^[abc]$/.test('ab')) // false
// abc 中任选两个
console.log(/^[abc]{2}$/.test('ab')) // true
// 字符类 [a-z] 表示a-z中的小写字母都可以
// [] 里面加上 - 连字符 表示一个范围
// a-z中任选一个
console.log(/^[a-z]$/.test('a')) // true
console.log(/^[abc]$/.test('c')) // true
console.log(/^[abc]$/.test('d')) // true
// a-z中任选三个
console.log(/^[abc]{3}$/.test('d')) // false
console.log(/^[abc]{3}$/.test('abc')) // true
console.log(/^[abc]{3}$/.test('dfdf')) // false
// [] 中加上^ 表示取反 ^为取反符号
// 表示出来abc 其他字符都可以通过
// 注意:^ 要写在中括号里面
console.log(/^[^abc]$/.test('t')) // true
console.log(/^[^abc]$/.test('a')) // false
// "." 表示除了换行符,任何单个字符都可以
console.log(/^.$/.test('q')) // true
// \d 等同于[0-9] 匹配任意数字
console.log(/^\d$/.test('1')) // true
console.log(/^\d$/.test('5')) // true
console.log(/^\d$/.test('a')) //false
// \D 等同于[^0-9] 匹配除了0-9的任意字符
console.log(/^\D$/.test('1')) // false
console.log(/^\D$/.test('2')) // false
console.log(/^\D$/.test('w')) // true
console.log(/^\D$/.test('t')) // true
// \w 等同于[0-9a-zA-Z_] 匹配0-9a-zA-Z_中的任意字符
console.log(/^\w$/.test('\n')) // false
console.log(/^\w$/.test('_')) // true
console.log(/^\w$/.test('1')) // true
console.log(/^\w$/.test('a')) // true
// \W 等同于[^0-9a-zA-Z_] 除了0-9a-zA-Z_中的任意字符都可以
console.log(/^\W$/.test('\n')) // true
console.log(/^\W$/.test('_')) // false
console.log(/^\W$/.test('1')) // false
console.log(/^\W$/.test('a')) // false
// \s 匹配任何unicode空白符 " " (空格符)、\r (回车符)、\n (换行符)、\t (制表符) 和 \f (换页符)。
// \s 等同于[\f\n\t\r ] 匹配任何unicode空白符 空格 制表符 换行符 回车符
// 注意[\f\n\t\r ]里面必须有空格
console.log(/^\s$/.test('\n')) // true
console.log(/^\s$/.test('\f')) // true
console.log(/^\s$/.test(' ')) // true
console.log(/^\s$/.test('\r')) // true
console.log(/^\s$/.test('\t')) // true
// 其他的用\s都是false
// \S 匹配除了unicode空白符任意其他字符
// \S 等同于[^\f\n\t\r ] 匹配除了unicode空白符 空格 制表符 换行符 回车符的其他字符
console.log(/^\S$/.test('\n')) // false
console.log(/^\S$/.test('\f')) // false
console.log(/^\S$/.test(' ')) // false
console.log(/^\S$/.test('\r')) // false
console.log(/^\S$/.test('\t')) // false
console.log(/^\S$/.test('a')) // true
// 其他的用\S都是true
// 测试
// 写空格时
console.log(/^[\n\f\r\t ]$/.test(" ")) //true
// 没写空格时
console.log(/^[\n\f\r\t]$/.test(" ")) //false
let str = 'bughaio123nihoa123yyy'
let arr = str.split('123')
console.log(arr)
// 正则表达式搭配split()方法转换字符串
let str1 = 'bndsfahh123kghfj345gfg'
let arr1 = str1.split(/\d{3}/)
console.log(arr1)
</script>