JS正则表达式常用符号

  • \s : 空格
  • \S : 非空格
  • \d : 数字
  • \D : 非数字
  • \w : 字符 ( 字母 ,数字,下划线_ )
  • \W : 非字符例子:是否有不是数字的字符
  • +至少出现一次 匹配不确定的次数
  • .(点)元字符——匹配除了换行符以外的任意字符
  • \b : 独立的部分 ( 起始,结束,空格 )
  • \B : 非独立的部分
  • ^ : 放在正则的最开始位置,就代表起始的意思,注意 /[^a] /和 /^[a]/是不一样的,前者是排除的意思,后者是代表首位。
  • $ : 正则的最后位置 , 就代表结束的意思
  • \a 表示重复的某个子项 比如:/ (a) (b) (c) \1/-----匹配 abca ; / (a) (b) (c) \2/------匹配 abcb
  • *任意次 相当于{0,}
  • ?零次或一次 相当于{0,1}
  • +一次或任意次相当于 {1,}
  • {n}: 正好n次
  • {n,m}:至少出现n次,最多m次。
  • {n,} :至少n次

常用的方法

  1. test() :在字符串中查找符合正则的内容,若查找到返回true,反之返回false.
var str = '374829348791';
var re = /\D/;      //  \D代表非数字
if( re.test(str) ){   // 返回true,代表在字符串中找到了非数字。
    alert('不全是数字');
}else{
    alert('全是数字');
}
  1. search() :在字符串搜索符合正则的内容,搜索到就返回出现的位置(从0开始,如果匹配的不只是一个字母,那只会返回第一个字母的位置),如果搜索失败就返回 -1
var str = 'abcdefd';
var re = /d/g;
alert( str.search(re) );
  1. match() 在字符串中搜索复合规则的内容,搜索成功就返回内容,格式为数组,失败就返回null。
var str = 'haj123sdk54hask33dkhalsd879';
var re = /\d+/g; 
alert( str.match(re) );
  1. replace() 查找符合正则的字符串,就替换成对应的字符串,返回替换后的内容。
var str = "我们都是好孩子,一群天真的孩子";
var rg = /孩子/g;
var str2 = str.replace(rg,"*");
alert(str2);

正则中的字符

  1. ()小括号,叫做分组符。
var str = '2013-6-7';
var re = /(\d+)(-)/g;
str = str.replace(re,function($0,$1,$2){
    //replace()中如果有子项,
    //第一个参数:$0(匹配成功后的整体结果  2013-  6-),
    // 第二个参数 : $1(匹配成功的第一个分组,这里指的是\d   2013, 6)
    //第三个参数 : $1(匹配成功的第二个分组,这里指的是-    - - )   
    return $1 + '.';  //分别返回2013.   6.
});
alert( str );   //2013.6.7
//整个过程就是利用子项把2013- 6- 分别替换成了2013. 6.  最终弹出2013.6.7

match方法也会返回自己的子项

var str = 'abc';
var re = /(a)(b)(c)/; 
//[abc,a,b,c]( 返回的是匹配结果以及每个子项当re的匹配后不加g的时候才可以获取到子项的集合)
alert( str.match(re) );
  1. [] : 表示某个集合中的任意一个,比如 [abc] 整体代表一个字符 匹配 a b c 中的任意一个,也可以是范围,[0-9] 范围必须从小到大。对于点(.)和星号(*)这样的特殊符号在一个字符集中没有特殊的意义。
  • [^a] 整体代表一个字符 :^写在[]里面的话,就代表排除的意思
var str = '<div class="b">aabbccddeeff</div>';
var re = /<[^>]+>/g;
console.log(str.match(re));
  1. 去除非数字
var str = str.toString().replace(/\D/g,'');
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容