一、内容概要

1)创建着呢规则表达式对象的两种方法

2)正则表达式的常用属性和方法

3)string对象常用方法中可以使用正则表达式

4)ES中其他预定义的对象:Math、Date、Number、Booloean...

二、创建正则表达式对象的两种方法

  •   直接量表示法:  var regexp=/式子/igm;  缺点:式子不能是string类型
  •   对象创建法:    var regexp=new RegExp(‘式子’,‘igm’);   式子里面必须是string类型

正则表达式的用法有两种

1)regexp.xxx(string)  使用RegExp 检测String  如regexp.test(string)

  test()判断真假    /exec()返回值

2)string.yyy(regexp)  使用string方法,把RegExp作为参数

  replace()   / search()  /match  /split()

三、正则表达式的常用属性和方法

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <h2>
  9. <button onclick="testRegexProperty()">
  10. 测试RegExp对象的常用属性
  11. </button>
  12. </h2>
  13. <script>
  14. //学号都必须以S、G、D开头,后面跟4位数字,如 G1588 D0102
  15. var txt="D0102"; //假设用户输入的是一个学号
  16. //var regexp=/^([sgd])\d{4}/i;
  17. var regexp=/^([sgd])(\d{})/i; //调用$必须是分组里面的内容
  18. console.log(regexp.text(txt));
  19. console.log(RegExp.$); //如果要调用$必须要用RegExp来调用
  20. console.log(RegExp.$); //保存着最近第二次匹配的内容
  21. console.log(RegExp.$);
  22. console.log(RegExp.$);
  23.  
  24. </script>
  25. </body>
  26. </html>

实例代码

  1. var arr1="Tm电话为13122345678,att电话为1512345678";
  2. var regexp=/[]\d{}/g; //查找电话
  3. console.log(regexp.lastIndex); //指定下一次从哪里开始寻找
  4. console.log(regexp.test(arr1)); //检测 true
  5. console.log(regexp.test(arr1)); //true
  6. console.log(regexp.test(arr1)); //false 原因是因为lastIndex在末尾,从末尾开始匹配,当然是false
  7. console.log(regexp.lastIndex); //

注意点

方法:

1)regexp.xxx(string)  使用RegExp 检测String  如regexp.test(string)

  test()判断真假    /exec()返回值

  1. var txt="Tm电话为13122345678att电话为15123456781";
  2. var regexp=/[]\d{}/g; //必须要有g标志位
  3. console.log(regexp.txt);
  4.  
  5. // console.log(regexp.exec(txt));
  6. // console.log(regexp.exec(txt));
  7. //打印出一段文本中所有的电话号码
  8. while(true){
  9. var arr=regexp.exec(txt);
  10. if(arr==null){
  11. break;
  12. }
  13. console.log(arr[]); //这里打印出电话号(相当于一个数组)
  14. }

查找电话号码

2)string.yyy(regexp)  使用string方法,把RegExp作为参数

  replace()   / search()  /match  /split()

一、split方法

strObject.split(str/regexp,[howmany])

使用一个指定的字符串或者正则表达式,对元字符串进行拆分,返回才的的字符串数组

如果指定了howmany属性,则只返回拆的前howmany个字串

  1. var data="how are you";
  2. var regexp=/\s+/;
  3. var arr=data.split(regexp);
  4. console.log(arr); //["how","are","you",""]

split方法

二、replace方法

strObject.replace(substring/regexp,replacement)

对字符串中特定格式的字串进行替换,返回替换后的结果

第一个参数既可以是一个固定的字串,也可以是一个正则表达式对象

  1. var regexp = /(red|blue|green)/ig;
  2. var data="Flowers are red,blue.yellow,or green";
  3. document.write(data);
  4. var result=data.replace(regexp,"<span style='color:$1;'>$1</span>");
  5. document.write(result);

三、search方法

strObject.seach(regexp)

返回第一次出现匹配指定正则表达式字串的下标,如果没有匹配则返回-1

与indexOf()作用类似,但是indexOf不支持正则表达式 如:var aa=ss@1223   var regexp=aa.indexOf(@)

  1. var data ="He does told to do";
  2. var regexp = /\bdo\b/ig;
  3. console.log(data.search(regexp)); //
  4.  
  5. 上面是找到do的下标 \b是边界

四、match方法

strObject.match(substring/regexp)

返回一个或者多个字串/正则表达式的匹配

与indexOf()方法类似,但是它返回匹配的值,而不是匹配字符串所在的下标

  1. var txt="Tm电话为13122345678att电话为15123456781";
  2. var regexp=/[]\d{}/g; //必须要有g标志位
  3. arr=txt.match(regexp);
  4. console.log(arr);
  5. console.log("查找完毕");
  6.  
  7. 查找出的结果
  8. ["", ""]
  9. test2.html: 查找完毕

查找电话号码

总结

replace()*  替换正则表达式可以匹配字串

seach()  替换正则表达式可以匹配字串

match  返回所有匹配正则表达式的字串

splite()*  使用正则表达式对字符串进行拆分

习题:

1、去除一个字符串开头和结尾的空白字符

用正则表达式  /^\s|\s$/之后用replace方法

第五篇、javascript正则表达式二的更多相关文章

  1. javascript 正则表达式(二)

    /* 正则表达式方法:test(),exec(),String对象方法:match(),search(),replace(),split() 1.test()方法: 用法:  regexp对象实例.t ...

  2. javascript正则表达式(二)——方法

    正则表达式规则见:http://www.cnblogs.com/wishyouhappy/p/3756812.html,下面说明相关方法 String相关方法 概括: search() replace ...

  3. 初学JavaScript正则表达式(二)

    正则表达式的实例化与标识符 字面量: var reg = /\bis\b/g // \b--字符边界 g全文搜索 查找单词为is的字符 He is a boy. IS He? 构造函数: var re ...

  4. 第五篇、C_二叉搜索树

    1.二叉树的查找功能的时间复杂度比链表的好 2.删除节点的稍微复杂点 >没有节点,直接删除 >只有左节点(或者右节点),直接用该节点的左节点(或者右节点)替代要删除的节点 >有左节点 ...

  5. 前端开发【第三篇: JavaScript基础】

    JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...

  6. javascript正则表达式(一)——语法

    前言 js中类RegExp类表示正则表达式,具有强大的模式匹配.文本检索和替换功能.正则表达式的模式规则是由一个字符序列组成,包括所有字母和数字在内,大多数的字符都是按照直接量匹配字符,某些特殊字符并 ...

  7. 正则表达式 第五篇:C# 正则表达式

    原文:正则表达式 第五篇:C# 正则表达式 本文整理C#正则表达式的元字符,正则表达式是由字符构成的表达式,每个字符代表一个规则,表达式中的字符分为两种类型:普通字符和元字符.普通字符是指字面含义不变 ...

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

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

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

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

随机推荐

  1. PHP面试题及答案解析(1)—PHP语法基础

    1. strlen( )与 mb_strlen( )的作用分别是什么? strlen和mb_strlen都是用于获取字符串长度.strlen只针对单字节编码字符,也就是说它计算的是字符串的总字节数.如 ...

  2. JS input 银行卡号格式转换

    replace(/\D/g,'').replace(/....(?!$)/g,'$& ')

  3. window 效率神器:Wox

    官方网站 http://www.getwox.com/ 下载后以管理员身份运行,右下角可以看到Wox的图标.点击setting可以进入主界面 如果看不懂可以将语言设置为中文 默认快捷键是Alt + s ...

  4. 本地文件上传到linux

    首先下载插件,输入下面命令: yum -y install lrzsz 然后输入rz选择上传文件: rz 如果rz命令不好使的话,就输入: rz -be

  5. web开发中的路径问题

    http://www.cnblogs.com/tianguook/archive/2012/08/31/2665755.html 转自:http://www.blogjava.net/meil/arc ...

  6. Codeforces 34C-Page Numbers(set+vector+暴力乱搞)

    C. Page Numbers time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  7. How to Use HTML5 FUll Screen API(怎样使用HTML5全屏接口)

    原文链接:http://www.sitepoint.com/use-html5-full-screen-api/ 假设你不太喜欢变化太快的东西,那么web开发可能不适合你. 我曾在2012年末有写过F ...

  8. bootstrap-ui-datetime-picker插件学习

    GitHub:https://github.com/Gillardo/bootstrap-ui-datetime-picker 准备 安装:bower install --save bootstrap ...

  9. thrift实例

    Thrift实例 Apache thrift是 Facebook 实现的一种高效的.支持多种编程语言的远程服务调用的框架. 它采用接口描述语言定义并创建服务,支持可扩展的跨语言服务开发,所包含的代码生 ...

  10. 图解堆算法、链表、栈与队列(Mark)

    原文地址: 图解堆算法.链表.栈与队列(多图预警) 堆(heap),是一类特殊的数据结构的统称.它通常被看作一棵树的数组对象.在队列中,调度程序反复提取队列中的第一个作业并运行,因为实际情况中某些时间 ...