常用正则表达式
发布: 2016-07-15 13:07:19标签: 前端开发
正则表达式
01// 邮箱正则表达式02var reg = /w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/0304// 电话05/^1[34578]d{9}$/0607// 获取url正则表达式08var reg = new RegExp('(^|&)'+name+'=([^&]*)(&|$)')09var r = window.location.search.substr(1).match(reg);1011// 匹配中文12[u4e00-u9fa5]
复制代码两种写法
01var re = new RegExp(“a”);0203var re = /a/;
复制代码常用符号
s
: 空格S
: 非空格d
: 数字D
: 非数字w
: 字符 ( 字母 ,数字,下划线_ )W
: 非字符例子:是否有不是数字的字符B
: 非独立的部分|
: 或的意思
表达式
()
:,小括号,叫做分组符[]
: 表示某个集合中的任意一个{n,m}
:至少出现n次,最多m次{n,}
:至少n次*
:任意次 相当于{0,}?
:零次或一次 相当于{0,1}+
:一次或任意次相当于 {1,}^
: 表示开始位置$
: 表示结束位置
常用方法
- test(): 测试是否符合正则表达式
01var str = '374829348791';02var re = /D/; // D代表非数字03if( re.test(str) ){ // 返回true,代表在字符串中找到了非数字。04alert('不全是数字');05}else{06alert('全是数字');07}
复制代码- search(): 寻找字符串,找到返回下表,找不到返回-1
01var str = 'abcdef';02var re = /B/i;03//var re = new RegExp('B','i');
复制代码- match() 在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。
01 str.match(re)
复制代码- replace() :查找符合正则的字符串,就替换成对应的字符串。返回替换后的内容。
01var str = '我爱北京天安门,天安门上太阳升。';02var re = /北京|天安门/g; // 找到北京 或者天安门 全局匹配03var str2 = str.replace(re,'*');
复制代码