目录
一,正则表达式的声明
1,//表达式声明
用表达式来声明正则表达式是用双斜杠(即://)来表示
所以我们可以写正则表达式为:
var exp="\balabala\"
2,RegExp("","")函数声明
用函数来声明正则表达式比较容易理解,
只需要传入两个字符串参数,用RegExp("","")来表示
第一个参数为表达式主体,第二个参数为修饰符
所以我们可以写正则表达式为:
var exp=new RegExp("","");
二,正则表达式中的各种字符
1,普通字符
就是正常的a-z,A-Z,_,0-9字符
2,元字符
元字符,就是匹配单个字符,
无论需要匹配的串中有多少个字符,只要有一个匹配元字符就算成功
那么元字符有以下几种:
元字符 | 说明 |
---|---|
. | 匹配除了换行符之外的单个字符 |
\w | 匹配一个数字,下划线,或字母字符,等价于[a-zA-Z0-9] |
\W | 匹配任何非单字字符,等价于[^a-zA-Z0-9] |
\d | 匹配一个数字字符,等价于[0-9] |
\D | 匹配除数字外的任何字符,等价于[^0-9] |
\s | 匹配任何空白字符 |
\S | 匹配任何非空白字符 |
\n | 匹配换行符 |
3,特殊字符
特殊字符,就是具有特殊含义的字符,是正则表达式的条件限制
符号 | 说明 |
---|---|
^ | 匹配字符串的开始位置 |
$ | 匹配字符串的结束 |
| | 匹配选择字符中的任何一个,如x|y,可以匹配x,也可以匹配y |
() | 分组 |
[] | 匹配方括号内的任意一个字符 |
[^] | 匹配不在方括号内的字符 |
{x} | 匹配前一项x次 |
{x,} | 匹配前一项x次或者多次 |
{x,y} | 匹配前一项至少x次,最多y次 |
* | 匹配前一项0次或者多次,等价于{0,} |
+ | 匹配前一项1次或者多次,等价于{1,} |
? | 匹配前一项0次或者1次,等价于{0,1} |
三,正则表达式中常用的匹配模式
1,g:全局匹配
不加g的效果是,只匹配串中的第一个匹配的子串
加g的作用是匹配串中的所有与表达式匹配的子串,
2,i:忽略大小写匹配
不加 i 的效果是,匹配串中大小写一致的匹配的子串
加 i 的作用是忽略大小写进行匹配,匹配串中的所有与表达式匹配的子串,
3,m:多行匹配
不加 m 的效果是,无论字符串是什么形式,都只匹配一次^与一次$
加 m 的效果是,对于每一行,都匹配^与$字符
四:正则表达式的常用方法
1,test()方法
test()方法用于检测一个字符串是否匹配某个正则表达式,
如果需要检测的字符串符合正则表达式匹配的文本,返回true,否则返回false
2,exec()方法
exec()方法用于检索字符串中指定的值,
返回找到的值,并确定其位置,返回结果为数组
五,常用正则表达式
1,电话号码
/^1[35784]\d{9}$/
2,电子邮箱
/^\w+@\w+\.[a-zA-Z]{2,3}(.[a-zA-Z]{2,3})?$/