正则表达式在js主要应用在一些限定条件的匹配上如验证邮箱地址,手机号码,密码格式等等
1.首先了解一个正则表达式
var reg=/pattern/flags ; //字面量创建方式
var reg=new RegExp(pattern,flags);//创建实例
//pattern:为正则表达式
// flags:标识:i是忽略大小写
m是多行匹配,机文本到达一行文本的末尾时还会继续寻找下一行中是否与正则匹配的项
g:是全局匹配,模式用于所有字符串,而非在找到第一个匹配项时停止
2.了解pattern里面可能包含的内容
代表特殊含义的元字符
\d:0-9之间的任意一个数字\d只占一个位置
\w:数字,字母,下划线 0-9,a-z, A-Z
\s:空格或者空白
.:除了\n之外的的任意字符
\:转义字符
|:或者
():分组
\n:匹配换行符
\b:匹配边界,字符串的开头和结尾,空格两边都是边界=>不占用字符串位数
^:限定开始位置
$:限定结束位置
[a-z]:任意字母[]中的任意一个都可以
[^a-z]:非字母[]中^代表除了
[abc]:abc三个字母中的任意一个
代表次数的量词字符
* : 0到多个
+ : 1到多个
? : 0次或1次 可有可无
{n} : 正好n次;
{n,} : n到多次
{n,m} : n次到m次
3.正则表达式对象的方法
exec:检索字符串中指定的值,返回找的的值,并确定其位置
test:检索字符串中指定的值,放回true,或者false
toString:放回正则表达式的字符串
补充:[]中不会出现两位数可以使用[]\d的方式使其成为两位数
我们匹配这个18-65年龄段的正则我们要拆开来匹配我们拆成3部分来匹配 18-19 20-59 60-65 reg = /(18|19)|([2-5]\d)|(6[0-5])/;