2018-06-21 js正则表达式

正则表达式:描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

1.修饰符

  i->忽略大小写;

  g->全部匹配;

  m->把\n识别成多行;

2.中括号

  [abc]->匹配中括号中的任意一个字符;

  [^abc]->匹配除了中括号中的任意一个字符;

  (abc)|(zxc)->匹配abc或zxc;

3.元字符

  .-> 任意一个字符

  \w -> 任意一个字母/数字/下划线

  \W -> 任意一个非 字母/数字/下划线

  \d -> 任意一个数字

  \D -> 任意一个非数字

  \s -> 任意一个空格

  \S -> 任意一个非空格

  \b -> 单词边界

  \B -> 非单词边界

  \n -> 换行符

4.量词

  + -> 匹配一个或者多个

  * -> 匹配任意多个

    .* -> 模糊匹配多个字符

    .*? -> 贪婪模式

  ? -> 匹配1个或者0个

  {3} -> 匹配3个

  {3,5} -> 匹配3个到五个

  {3,} -> 匹配三个以上

  ^ -> 匹配行首

  $ -> 匹配行尾

  ?=a -> 匹配后面紧跟a的

  ?!a -> 匹配后面不紧跟a的

4.js中常使用正则的方法

  search();

  match();

  replace();

  split();

5.实例

  ①//匹配开始为139的手机号码

  str="13969324896";

    if(str.match(/^139\d{8}$/)){
        alert("ok");
    }else{
        alert("no");
    }

  ②//匹配邮箱

  str="wrr@qq.com";

    if(str.match(/^\w+@\w+\.\w+$/)){
        alert("ok");
    }else{
        alert("no");
    }

  ③//向后引用的特殊匹配,将2018-06-21替换成2018/06/21

  data="2018-06-21";
    time=data.replace(/(\d+)\-(\d+)\-(\d+)/,"$1/$2/$3");//三个圆括号不能省略,圆括号中的内容会自动依次替换成$1,$2,$3
    alert(time);

  

posted @ 2018-06-21 22:03  喵星人~  阅读(159)  评论(0编辑  收藏  举报