正则表达式: Regular Expression
常见的正则表达式符号
. 匹配除换行符以外的任意字符
\w 匹配字符或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,}重复n次到更多次
{n,m}重复n次到m次
\W 匹配任意不是字母 数字 下划线 汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x]匹配除了x以外的任意字符
[^aeiou]匹配除了aeiou这几个字母以外的任意字符
正则表达式当中的小括号() 优先级较高
[1-9] 表示1到9的任意1个数字(次数是1次)
[A-Za-z0-9] 表示A-Za-z0-9中的任意1个字符
[A-Za-z0-9-] 表示A-Z a-z 0-9 -(减号)中的任意1个字符
简单的正则表达式
qq号的正则表达式: ^[1-9][0-9]{4,}$
Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
InternetURL:[a-zA-z]+://[^\s]* 或 ^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
手机号码:^(13[0-9]|14[5|7]|15[0|1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
正则对象+常用方法
创建正则表达式对象
第一种创建方式:
var regExp = /正则表达式(也可为字符串)/flags;
第二种使用内置支持类RegExp:
var regExp = new RegExp('正则表达式','flags');
关于flags(模式修饰符)
g: 全局匹配
i: 忽略大小写
m: 多行搜索(ES规范指定之后才支持m) 当前面是正则表达式的时候,m必须省略;只有前面是普通字符串的时候,m才能使用
test()方法
格式:正则表达式对象.text(填写的字符串);
返回值: true | false
true:字符串格式匹配成功
false: 字符串格式匹配失败
如果比对的字符串中有匹配的正则对象,则返回true
exec()方法
格式:正则表达式对象.exec(填写的字符串);
返回值:数组 || null
数组: 字符串格式匹配成功返回数组,数组中存放匹配的字符串 索引号
null: 字符串格式匹配失败
字符串的正则表达式方法
match()方法
格式:字符串.match(正则表达式对象);
返回值: 数组 || null
注:
此方法可使用 模式修饰符 g 可将所有匹配到的字符串储存在数组中
search()方法
格式: 字符串.search(正则表达式对象);
返回值: 下标 || -1
replace()方法----替换
格式: 字符串.replace(正则表达式对象,'要替换的字符')
可使用模式修饰符 g
split()方法----将字符串拆分成数组
格式: 字符串.split(正则表达式对象);
注:
在字符串内匹配到正则表达式后,将匹配到的字符前后分割成数组
不包括匹配到的字符