正则
概念:专门用于处理字符规则的
作用:
验证字符串:
语法:
正则.test(字符串)
返回一个布尔值
判断字符串中是否包含满足规则的部分
例:
var reg = /a{2}/
var str1 = 'abc'
var bool1 = reg.test(str1)
console.log(bool1) // false
var str2 = 'aabb'
var bool2 = reg.test(str2)
console.log(bool2) // true
语法:
字符串.search(正则)
返回下标或者-1
从字符串中找满足规则部分的下标
例:
var reg = /a{2}/
var str1 = 'abc'
var index1 = str1.search(reg)
console.log(index1) // -1
var str2 = 'aabb'
var index2 = str2.search(str2)
console.log(index2) // 0
提取字符串:
语法:
正则表达式.exec(字符串)
返回数组,数组的第一个元素是满足规则的部分。
如果字符串中没有满足规则的,则返回null。
例:
var reg = /a{2}/
var str1 = 'abaacc'
var arr1 = reg.exec(str1)
console.log(arr1) // ['aa']
var str2 = 'abcde'
var arr2 = reg.exec(str2)
console.log(arr2) // null
语法:
字符串.match(正则表达式)
返回跟exec一样
例:
var reg = /a{2}/
var str1 = 'abaacc'
var arr1 = str1.match(reg)
console.log(arr1) // ['aa']
var str2 = 'abcde'
var arr2 = str2.match(reg)
console.log(arr2) // null
替换字符串:
语法:
字符串.replace(正则表达式,)
返回替换后的字符串
例:
var str = 'abaac'
var reg = /a{2}/
var str1 = str.replace(reg, '66')
console.log(str1) // 'ab66c'
语法:
定义:
字面量方式:
var reg=/规则/
构造函数方式:
var reg=new RegExp("规则")
组成部分:
字符:
普通字符:
普通字符串中的字符
元字符:
特殊符号:
\d -- 表示一个任意数字
\w -- 表示一个任意数字、字母、下划线
\s -- 表示一个空格
. -- 表示一个任意字符
\D -- 表示一个非数字字符
\W -- 表示一个非任意数字、字母、下划线
\S -- 表示一个非空格
修饰符:
修饰次数:
+ -- 前面字符最少出现一次
? -- 前面字符最多出现一次
* -- 前面字符任意次
{n} -- 前面字符必须出现n次
{n,} -- 前面字符最少出现n次
{n,m} -- 前面字符最少出现n次,最多出现m次
修饰开头结尾:
^ -- 规定必须以某个字符开头,放在正则最前面
$ -- 规定必须以某个字符结尾,放在正则某位
其他:
[] -- 其中的任意一个,当作一个字符看待
() -- 这是一个整体
| -- 或者
g -- 开启贪婪模式
i -- 忽略大小写
- -- 到
\ -- 转义 - 放在特殊符号去前面