一、内容概要

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()

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

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

实例代码

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

注意点

方法:

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

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

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

查找电话号码

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

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

一、split方法

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

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

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

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

split方法

二、replace方法

strObject.replace(substring/regexp,replacement)

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

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

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

三、search方法

strObject.seach(regexp)

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

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

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

四、match方法

strObject.match(substring/regexp)

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

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

            var txt="Tm电话为13122345678att电话为15123456781";
var regexp=/[]\d{}/g; //必须要有g标志位
arr=txt.match(regexp);
console.log(arr);
console.log("查找完毕"); 查找出的结果
["", ""]
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. Repeater绑定List泛型对象

    后台: public void BindData()        {            List<WeiBo> DataList = new List<WeiBo>(); ...

  2. struct和class的不同以及struct的应用场景

    struct在C#中被用来定义结构,它是一种比类小的数据类型.和类一样都是创建对象的模板,可以有自己的数据以及处理和访问数据的方法. struct的用法: struct FurnitureSize { ...

  3. sql2000实现row_number

    一.以PersonID,classid,dt_ClassData为条件进行分组,每个小组加序号,row_number在sql2005中不可用 方法一.sql2000及以上版本--以PersonID,c ...

  4. ASP.NET CORE RAZOR :将新字段添加到 Razor 页面

    https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/razor-pages/new-field 在本部分中,将使用 Entity Framew ...

  5. CentOS修改IP地址及关闭/打开防火墙

    1.CentOS修改IP地址: # ifconfig eth0 192.168.1.80 这样就把IP地址修改为192.168.1.80(如果发现上不了网 了,那么你可能需要把网关和DNS也改一下,后 ...

  6. 盘古分词demo,盘古分词怎么用

    1.下载PanGu.dll dll地址:http://download.csdn.net/detail/dhfekl/7493687 2.将PanGu.dll和词库引入到项目 最新词库地址:http: ...

  7. C# 接口中的索引器

    索引器可在 接口(C# 参考) 上声明.接口索引器的访问器与类索引器的访问器具有以下方面的不同: 接口访问器不使用修饰符. 接口访问器没有体. 因此,访问器的用途是指示索引器是读写.只读还是只写.以下 ...

  8. java中高级写法

    1.低级写法: if (null != redisCacheService.get(MediaConstants.GUANGDIANTONG_YOUMI + CommonConstants.PLUS  ...

  9. 安卓TabHost+ViewPager+RadioGroup多功能模板整理

    如今安卓比較流行的布局就是类似新闻client和手机QQ那种的底端可选择,上面的个别页面能够滑动选择. 在測试过程中发现用安卓自带的TabHost去构建.非常难得到自己定义的效果. 因此採用TabHo ...

  10. CIA 读书笔记

    对此书的评价只有八个字:粗制滥造,到处粘贴. 对于通过表情识别人情绪的教程,最好要有图,图很重要,也最好有案例.