html,javascript,正则表达式

正则表达式是对字符串操作的逻辑公式,用事先定好的一些特定字符组成一个"规则字符串",在用"规则字符串"对字符串进行过滤。

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中的短线替换成点

时间: 2024-12-16 14:18:21

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

javascript正则表达式修饰符之multiline(/m)的使用

javascript正则表达式有3种修饰符/i./m和/g./i是我们最常用,也是最好理解的,代表正则表达式匹配的时候不区分大小写. var regex = /abc/i; alert(regex.test("aBc"));//true /m代表多行模式multiline,如果目标字符串中不含有换行符\n,即只有一行,那么/m修饰符没有任何意义. var multiline = /abc/m; var singleline = /abc/; //目标字符串不含换行符\n var tar

javascript 正则表达式补充

定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%>','g'); 2. 字面量 var reg=/<%[^%>]%>/g; g: global,全文搜索,默认搜索到第一个结果接停止 i: ingore case,忽略大小写,默认大小写敏感 m: multiple lines,多行搜索 元字符 正则表达式让人望而却步以一个重要原因就是其转

javascript正则表达式定义的方法是什么

javascript正则表达式的2种定义方法:一种是直接调用RegExp(),第二种是直接用字面量来定义,即var re = /正则规则/; js正则表达式的2种定义方法本质都是调用RegExp()方法 在调用同一段正则代码的时候,ECMAScript3和ECMAScript5中表现完全不一样 function reg(){ var re = /\sjavascript/; return re; } 分别在ECMAScript3和ECMAScript5中调用reg()方法多次 在ECMAScri

web前端之JavaScript正则表达式

web前端之JavaScript正则表达式 后面有代码: \d 表示数字 \d? ?表示0个或者一个 \d+ +表示一个或者多个 \d{3} 表示三个 \d{3,5} 表示三到五个 \d{3,} 表示至少出现3次 \d* *表示0到任意个 \b 表示单词边界 \B 表示非单词边界 \bis\b 表示查找" is "的 . 表示任意字符 \ 表示转译 http:(\/\/.+\.jpg) 用()进行分组 $1 获取其内部东西 []表示或 ^表示开头 $表示结尾 g表示全局 \d{4}[/

JavaScript - 正则表达式举例

JavaScript - 正则表达式举例 正则表达式的大致匹配过程是:依次拿出表达式和文本中的字符比较,如果每一个字符都能匹配,则匹配成功:一旦有匹配不成功的字符则匹配失败. 正则表达式通常用于在文本中查找匹配的字符串.Python里数量词默认是贪婪的(在少数语言里也可能是默认非贪婪),总是尝试匹配尽可能多的字符:非贪婪的则相反,总是尝试匹配尽可能少的字符.例如:正则表达式"ab*"如果用于查找"abbbc",将找到"abbb".而如果使用非贪婪

javascript正则表达式简介

javascript正则表达式 javascript正则表达式 regular expression是一个描述字符模式的对象: ECMAScript中的RegExp类表示正则表达式: String和RegExp都定义了使用正则表达式进行强大的模式匹配.文本检索和替换的函数: 正则表达式主要用来验证客户端的输入数据: Ⅰ.创建正则表达式 类似于创建字符串,可以使用new运算符也可以采用字面值: 参数 含义 g 全局匹配 i 忽略大小写 m 多行匹配 下文中的javascript代码是通过 Ecli

自己实现的一款在线Javascript正则表达式测试器——JRE-Parser

本文最初发布于我的个人博客:http://jerryzou.com/posts/jreparser/ 昨天在看<正则表达式30分钟入门教程>的时候,看到博主自己实现了一个C#写的正则测试器,看上去挺方便的样子.但是我自己又不太喜欢乱装东西,所以寻思着能不能自己实现一个javascript正则表达式测试器.于是几十行代码实现了这样一个正则测试器. 先展示一下0.1版本的效果图吧~ 页面还比较简单,但是基本功能算是有了.可以正常使用~. 关于怎么从用户的输入中提取正则表达式的过程多亏@依云大神提点

JavaScript之基础-10 JavaScript 正则表达式(概述、定义正则、RegExp对象、用于模式匹配的String方法)

一.JavaScript 正则表达式概述 正则表达式概述 - 正则表达式(Regular Expression): 由一些普通字符和特殊字符组成的,用以描述一种特定的字符规则的表达式 - 正则表达式常用于在一段文本中搜索.匹配或替换特定形式的文本.如:词语出现频率统计.验证字符串是否符合邮件格式.屏蔽一篇帖子中的限制性词语等 正则表达式初体验 - 验证用户输入的手机格式是否合法 二.JavaScript 定义正则表达式 普通字符 - 所有的单个大小写字母.数字都是一个正则表达式,用以匹配单个字符

JavaScript正则表达式-字符

JavaScript正则表达式字符包括两类: 1.普通字符. 2.转义字符. 普通字符 大小写字母.数字.其他任何符号. 转义字符 转义字符 含义 \f 换页符 \n 换行符 \r 回车符 \t 制表符 \b 退格符 \o 空字符 \xnn 由十六进制数nn指定的ASCII码对应的字符 \uxxx 由十六进制数xxxx指定的Unicode字符 \\ 反斜线 ^ 要匹配"^"字符本身需要使用"\^" $ 要匹配"$"字符本身需要使用"\$

JavaScript正则表达式语法及使用范例大全

JavaScript正则表达式 1.      使用JS正则表达式,首先要了解JS正则表达式的常用符号,如下图: /-/ 代表一个模式的开始和结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 \s 匹配一个空白字符 \S 匹配一个非空白字符 \d 匹配一个数字字符,等价于[0-9] \D 匹配一个非数字字符,等价于[^0-9] \w 匹配一个数字.字母.或下划线,等价于[A-Za-z0-9_] . 匹配一个除了换行符之外的字符 \ 转义字符,对于上述这些特殊的符号,如果要匹配,则需要加\进行转义