正则表达式是对字符串操作的逻辑公式,用事先定好的一些特定字符组成一个"规则字符串",在用"规则字符串"对字符串进行过滤。
ECMAScript 通过RegExp 类型来支持正则表达式
目的: 给定的字符串是否符合正则表达式的过滤逻辑,称为:匹配;
可以通过正则表达式,从字符串中获取我们想要的特定部分,称为:查找;
   正则表达式的三个功能:
     1、快速匹配制定字符串;
     2、替换遵照正则表达式规则的字符串;
     3、在目标字符串中筛选指定的字符串
     正则表达式的语法:
     正则表达式就是由普通字符(例如:a~z)和元字符(特殊字符)组成的文字模式,该模式描述在查找文字主体时待匹配的一个或多个字符串,正则表达式作为一个模版,将某个字符串模式与所搜索的字符串进行匹配。
 创建正则表达式对象(正则表达式:regular expression)
    var regExp = new RegExp(pattern, attributes);
   构造正则表达式对象时使用的构造函数有两个参数
     1、参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式;
     2、参数 attributes 是一个可选的字符串:共三种模式,这三种模式可以组合使用
          i:不区分大小写;
          g:全局查找,整个目标字符串范围内;
          m:多行查找;
正则表达式的简写形式:字面量形式
     双斜杠中包括的就是要被匹配的文字
     双斜杠后面是模式组合
      var regExp = /a/gi;
     正则表达式对象提供的test方法用于检测参数字符串是否有符合表达式模板的文字,如果有就返回true,没有则返回false;
例如:

var str = "love me love my dog";
     reg = new RegExp("love","gi");
        regExp = /love/gi;
     1、如果要匹配目标字符串是否以love开头,需要通过元字符^(脱字符)来匹配,匹配开头是否包含正则表达式模板
     regExp = /^love/gi;
     2、要匹配结尾通过元字符$来匹配
     regExp = /^love$/gi;
  3、 \s 是空白符,(s:spance)属于转义字符,类似于\n(换行符);
     regExp = /love\s/gi;
     4、匹配的目标要能够成单词,可以使用\W(W要大写);
     regExp = /love\W/gi;
     console.log(reg.test(str));
     5、如果要匹配数字,则需要使用到转义字符\d, d:digital 即数字的意思
     regExp = /love\d/gi;
     regExp = /[a-z].\d+\W/gi;
     6、元素中的竖线 |
    str = "22334455";
    regExp = /22|55/g;
    console.log("|元字符:" + regExp.test(str));
    7、重复类 设定连续重复次数 {}
    str= '211111161';
  连续重复次数{}
    regExp = /1{7}/g; //设定连续重复7次
   最少连续重复次数{2,}
    regExp = /1{2,}/g; //设定最少连续重复2次
   最少连续重复2次,最多4次{2,4}
    regExp = /1{2,4}/g;//设定最少连续重复2次最多4次
    8、 元字符 + 的意义为匹配目标至少连续出现一次,等效于{1,};
    regExp = /1+/g;
 
    9、元字符?,最多出现一次,等效于{1,0}
    regExp = /1?/g;
    10、字符类中的[];
    regExp = /[1]/g;  //匹配方括号内的任意一项
    11、连字符-    匹配0到4范围内的任意数字
    regExp = /[0-4]/g;
    12、^和[]配合还有除外的意思
    str = 'aaa123bb123add123';
    regExp = /[^123]/g;  // 除了123之外的其他项都被匹配
    str = "abcFhGlz";
    regExp = /[a-z]/gi;
    regExp = /[a-zA-Z]/g;  // 匹配字母包括大小写
    13、匹配字符串中的汉字
    str = 'today 是周二';
    regExp = /[\u4e00-\u9fa5]+/g;
    console.log(str.match(regExp));
事例:将2016-08-16中的短线替换成点

html,javascript,正则表达式的更多相关文章

  1. JavaScript正则表达式,你真的知道?

    一.前言 粗浅的编写正则表达式,是造成性能瓶颈的主要原因.如下: var reg1 = /(A+A+)+B/; var reg2 = /AA+B/; 上述两个正则表达式,匹配效果是一样的,但是,效率就 ...

  2. 【JS】javascript 正则表达式 大全 总结

    javascript 正则表达式 大全 总结 参考整理了一些javascript正则表达式 目的一:自我复习归纳总结 目的二:共享方便大家搜索 微信:wixf150 验证数字:^[0-9]*$ 验证n ...

  3. 理清JavaScript正则表达式--上篇

    在JavaScript中,正则表达式由RegExp对象表示.RegExp对象呢,又可以通过直接量和构造函数RegExp两种方式创建,分别如下: //直接量 var re = /pattern/[g | ...

  4. 理清JavaScript正则表达式--下篇

    紧接:"理清JavaScript正则表达式--上篇". 正则在String类中的应用 类String支持四种利用正则表达式的方法.分别是search.replace.match和s ...

  5. JavaScript正则表达式详解(一)正则表达式入门

    JavaScript正则表达式是很多JavaScript开发人员比较头疼的事情,也很多人不愿意学习,只是必要的时候上网查一下就可以啦~本文中详细的把JavaScript正则表达式的用法进行了列表,希望 ...

  6. JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解

    二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...

  7. Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识

    本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../  用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...

  8. JavaScript正则表达式下——相关方法

    上篇博客JavaScript 正则表达式上——基本语法介绍了JavaScript正则表达式的语法,有了这些基本知识,可以看看正则表达式在JavaScript的应用了,在一切开始之前,看看RegExp实 ...

  9. JavaScript 正则表达式上——基本语法

    定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...

  10. 正则表达式入门教程&&经典Javascript正则表达式(share)

    前言 例子: ^.+@.+\\..+$ 这样的代码曾经多次把我自己给吓退过.可能很多人也是被这样的代码给吓跑的吧.继续阅读本文将让你也可以自由应用这样的代码. 正文 教程:正则表达式30分钟入门教程 ...

随机推荐

  1. Docker原理:Cgroup

    目录 Cgroup 主要功能 术语 参考 Cgroup 全称Linux Control Group, 是Linux内核的一个功能,用来限制.控制与分离一个进程组群的资源(如CPU.内存.磁盘输入输出等 ...

  2. 深入理解C++11 阅读笔记

    二 保证稳定性和兼容性保持与C99兼容 预定义宏 C99语言标准增加的一些预定义宏,C++11同样增加了对这些宏的支持 __func__预定义标识符 功能是返回所在函数的名字,在C++11中,标准甚至 ...

  3. [网络流24题]最长k可重线段集[题解]

    最长 \(k\) 可重线段集 题目大意 给定平面 \(x-O-y\) 上 \(n\) 个开线段组成的集合 \(I\) ,和一个正整数 \(k\) .试设计一个算法,从开线段集合 \(I\) 中选取开线 ...

  4. C语言:特殊点

    编译器给变量分配内存在函数外部定义的变量叫做全局变量(Global Variable),在函数内部定义的变量叫做局部变量(Local Variable)一个变量,即使不给它赋值,它也会有一个默认的值, ...

  5. C语言:数的保存 原码 反码 补码

    a=6                                     a=-18 a 的原码就是0000 0000 0000 0110        1000 0000 0001 0010 ...

  6. Springboot中注解@Configuration源码分析

    Springboot中注解@Configuration和@Component的区别 1.先说结论,@Configuration注解上面有@Component注解,所以@Component有的功能@Co ...

  7. 网络损伤仪WANsim中的乱序功能

    乱序 乱序功能需要指定每个帧 发生乱序的概率,以及新的帧的位置相较于原来位置的时间范围. 乱序的概率范围是0%~20%,颗粒度是0.001%.Delay的设置范围为 0s~10s,颗粒度为0.1 ms ...

  8. 一定要收藏的5个优秀的SpringCloud开源项目

    上一期为大家推荐了几个前端模板,没看过的点下面 一定要收藏的5个后台管理系统的前端框架 今天再为大家推荐几个优秀的SpringCloud开源脚手架项目,开箱即用,不管是学习还是开发新项目,都非常不错. ...

  9. odoo ORM中的filed的关系映射的使用详解1

    前言 前面我们详细讲解了odoo ORM中fields中的常见属性的使用,根据不同的属性可以对字段进行不同的限制操作,比如readonly只读,store是否存储到数据库.今天我们继续研究ORM中的关 ...

  10. NPM 所有的指令已经问题 使用淘宝镜像 出现code EAI_AGAIN

    windows怎么卸载cnpm? npm uninstall cnpm -g windows怎么检测cnpm是否安装成功 cnpm -v 我们直接将node的仓库地址换成淘宝仓库地址即可 单次使用 n ...