常用正则表达式

发布: 2016-07-15 13:07:19标签: 前端开发

正则表达式

01// 邮箱正则表达式
02var reg = /w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*/
03
04// 电话
05/^1[34578]d{9}$/
06
07// 获取url正则表达式
08var reg = new RegExp('(^|&)'+name+'=([^&]*)(&|$)')
09var r = window.location.search.substr(1).match(reg);
10
11// 匹配中文
12[u4e00-u9fa5]
复制代码

两种写法

01var re = new RegExp(“a”);
02
03var re = /a/;
复制代码

常用符号

  • s : 空格
  • S : 非空格
  • d : 数字
  • D : 非数字
  • w : 字符 ( 字母 ,数字,下划线_ )
  • W : 非字符例子:是否有不是数字的字符
  • B : 非独立的部分
  • | : 或的意思

表达式

  • ():,小括号,叫做分组符
  • [] : 表示某个集合中的任意一个
  • {n,m}:至少出现n次,最多m次
  • {n,} :至少n次
  • * :任意次 相当于{0,}
  • ? :零次或一次 相当于{0,1}
  • + :一次或任意次相当于 {1,}
  • ^ : 表示开始位置
  • $ : 表示结束位置

常用方法

  1. test(): 测试是否符合正则表达式
01var str = '374829348791';
02var re = /D/; // D代表非数字
03if( re.test(str) ){ // 返回true,代表在字符串中找到了非数字。
04alert('不全是数字');
05}else{
06alert('全是数字');
07}
复制代码
  1. search(): 寻找字符串,找到返回下表,找不到返回-1
01var str = 'abcdef';
02var re = /B/i;
03//var re = new RegExp('B','i');
复制代码
  1. match() 在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。
01 str.match(re)
复制代码
  1. replace() :查找符合正则的字符串,就替换成对应的字符串。返回替换后的内容。
01var str = '我爱北京天安门,天安门上太阳升。';
02var re = /北京|天安门/g; // 找到北京 或者天安门 全局匹配
03var str2 = str.replace(re,'*');
复制代码