正则表达式

ECMAscript中的正则表达式

声明方式:

a:字面量声明方式

var reg = / 要匹配的内容 /;

b:构造函数声明方式

var reg = new RegEXp('要匹配的内容');

常用方法:

reg.test(); //检测字符串是否和正则表达式匹配,匹配成功则返回ture

reg.exec();
//捕获满足正则表达式的字符
//返回内容是一个数组,第一个元素是匹配的内容
//index:匹配开始的索引
//input:匹配的字符串
//lastIndex:下次开始的起始位置,默认是0

字符串中的应用

str.replace(正则表达式 , 要替换的值);

str.match(正则表达式);

str.search(正则表达式);

str.split(正则表达式);

正则中的

懒惰性: 找到一个满足条件,即返回

贪婪性: 把一次满足条件的最多字符返回

正则表达式的组成部分

a:修饰符

 g  全局匹配

  i  不区分大小写

b:元字符

  \  转义字符

  \d  匹配一个数字字符

  \D  匹配一个非数字字符

  \w  0-9的数字和字母和_

  \W 匹配一个特殊字符

  \s  匹配一个空字符

  \S  匹配一个非空字符

  .  除了换行符以外的任意字符

  [abc] a/b/c任意一个

  a|b a/b的其中一个

  ^  开始符号

  $  结束符号

c:量词元字符

  ?  出现0次或1次

  *  出现0次或多次

  +  至少出现一次

  {m, n}  至少出现m次,最多出现n次

  {m, }  至少出现m次

  { m }  出现m次

常用的正则表达式:

1.匹配6-13位用户名 :  /^\w{6,13}$/;

2.匹配6-18位密码:  /^\w{6,18}$/;

3.匹配一个手机号:  /^1[35789]\d{9}$/;

4.匹配一个邮箱地址:  /^\w+@\w+\.\w+$/;

5.匹配一个汉字:  /^[\u4e00-\u9fa5]{0,}$/;

6.匹配身份证号码:  /^d{15}|d{}18$/;

7.匹配月份:  /^(0?[1-9]|1[0-2])$/;

8.匹配一个月天数:  /^((0?[1-9])|((1|2)\d)|30|31)$/;




版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论

精彩评论
  • 2019-03-17 15:13:09

    文章写得很好,拜访站长、支持站长!

  • 2019-03-19 09:03:37

    文章写的很好,感谢楼主的分享

  • 2019-03-26 09:04:36

    看到这东西是真的很复杂,不知道博主是怎么弄出来的

  • 2019-05-08 11:47:03

    文章写得很好,拜访站长、支持站长!

  • 2019-05-08 11:47:43

    贵站文章写得非常好啊,以后要多长来!

Top

分享: