正则表达式:
正则表达式用于定义一些字符串的规则。
计算机可以根据正则表达式来检测一个字符串是否符合规则。
使用构造函数创建正则表达式 (更加灵活)
var reg = new RegExp(‘正则表达式’,‘匹配模式’)
匹配模式有两个参数:
i 忽略大小写
g 全局匹配模式
正则表达式的方法:
test() 使用这个方法可以用来检测一个字符串是否符合正则表达式的规则。
使用字面量创建正则表达式(更加简单)
var reg = /a/i ==>var reg = new RegExp(‘a’,‘i’)
console.log(reg.test(‘abc’)) //true
| 或者 a|b 匹配a或者b
[a-z] 匹配a-z 小写字母
[A-Z] 匹配A-Z 大写字母
[A-z] 匹配A-z 大小写字母
[0-9] 匹配所有的数字
[^] 匹配除了…的 [^0-9] 匹配除了数字的元素
{n} 匹配元素出现n次
{n,m} 匹配元素最少出现n次,最多出现m次
‘+’ 匹配元素至少出现一次
‘*’ 匹配元素出现0或多次
? 匹配元素出现0或1次
^ 表示开头
$ 表示结尾
. 表示任意字符
\ 表示转义字符 . 表示匹配.
\w 匹配任意字母、数字、 _ ==> [A-z0-9_]
\W 匹配除了任意字母、数字、 _ ==> [^A-z0-9_]
\d 匹配任意数字
\D 匹配除了任意数字
\s 匹配空格
\S 匹配除了空格
\b 单词边界
\B 除了单词边界
// 手机号:/^1[3-9][0-9]{9}$/
//邮箱: /^\w{3,}@[A-z0-9]+\.[A-z]{3}$/
//匹配开头和结尾的空格 /^\s*|\s*$/g
split()方法可以将一个字符串拆分为一个数组
可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串。
var str = '1a2b3c4d5f6g7h8j9k'
console.log(str.split(/[A-z]/)) //1-9
search()方法可以搜索字符串中是否含有指定内容
如果搜索到指定的内容,将会返回第一次出现的索引,如果没有则返回-1.
他可以接收一个正则表达式作为参数,然后根据正则表达式去搜索字符串。
console.log(str.search(/[A-z]/)) //1
match()方法可以根据正则表达式从一个字符串中将符合条件的内容提取出来,默认情况下只会找到第一个符合要求的内容,找到后就会停止检索,可以设置正则表达式为全局匹配模式,这样就会找到所有匹配的内容。
console.log(str.match(/[A-z]/)) //a
replace()方法可以将字符串中指定内容替换为新的内容
有两个参数:
1.被替换的内容,可以接收一个正则表达式作为参数
2.新的内容
默认只会替换第一个,设置正则表达式全局匹配模式
console.log(str.replace(/[A-z]/g , '')) //1-9