一、内容概要

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. window 效率神器:Wox

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

  2. Unity UGUI——提供可视功能的UI组件(Text)

    基本属性介绍 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTXJfQUhhbw==/font/5a6L5L2T/fontsize/400/fill/I0J ...

  3. start with git

    Start with git 1.what is GitHub? GitHub is a code hosting platform for version control and collabora ...

  4. string 和 stringbuffer的区别?

    string和stringbuffer的区别其实是变量和常亮的关系,string和stringbuffer内部实现的原理不同,在修改string对象时会产生另外的对象,也就是说在内存中会有两个存储区域 ...

  5. phalcon builder get raw sql

    $this->modelsManager->createBuilder()->from('table')->where('a = "a"')->lim ...

  6. 关于函数的return

    function add(x, y) { var total = x + y; return total; } add(5,10); 关于函数的return 我一开始是认为没有什么用的  后来在项目中 ...

  7. 用android studio创建第一个安卓程序加载html5 页面

    前言 软件版本:android studio v1.0正式版,由于v0.x以来软件变化一直比较大,很多问题搜索的解决方案也都是v0.x版本时代的,故首先声明一下版本. 动机:由于工作中需要对移动端软件 ...

  8. IOS发送带附件的邮件

    本文转载至  http://blog.csdn.net/zltianhen/article/details/7693810 1.加入邮箱的框架 #import <MessageUI/MFMail ...

  9. mybatis注解实现CURD

    我们来看下面这段代码: /** * The user Mapper interface. * * @author Wangzun * * @version 1.0 * * */ @CacheNames ...

  10. Java获取字符串的CRC8校验码(由C程序的代码修改为了Java代码)

    CRC8算法请百度,我也不懂,这里只是把自己运行成功的结构贴出来了.方法CRC8_Tab这里没有处理,因为我的程序中没有用到. package com.crc; public class CCRC8_ ...