第五篇、javascript正则表达式二
一、内容概要
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正则表达式二的更多相关文章
- javascript 正则表达式(二)
/* 正则表达式方法:test(),exec(),String对象方法:match(),search(),replace(),split() 1.test()方法: 用法: regexp对象实例.t ...
- javascript正则表达式(二)——方法
正则表达式规则见:http://www.cnblogs.com/wishyouhappy/p/3756812.html,下面说明相关方法 String相关方法 概括: search() replace ...
- 初学JavaScript正则表达式(二)
正则表达式的实例化与标识符 字面量: var reg = /\bis\b/g // \b--字符边界 g全文搜索 查找单词为is的字符 He is a boy. IS He? 构造函数: var re ...
- 第五篇、C_二叉搜索树
1.二叉树的查找功能的时间复杂度比链表的好 2.删除节点的稍微复杂点 >没有节点,直接删除 >只有左节点(或者右节点),直接用该节点的左节点(或者右节点)替代要删除的节点 >有左节点 ...
- 前端开发【第三篇: JavaScript基础】
JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处理. 一.如何编写 1.J ...
- javascript正则表达式(一)——语法
前言 js中类RegExp类表示正则表达式,具有强大的模式匹配.文本检索和替换功能.正则表达式的模式规则是由一个字符序列组成,包括所有字母和数字在内,大多数的字符都是按照直接量匹配字符,某些特殊字符并 ...
- 正则表达式 第五篇:C# 正则表达式
原文:正则表达式 第五篇:C# 正则表达式 本文整理C#正则表达式的元字符,正则表达式是由字符构成的表达式,每个字符代表一个规则,表达式中的字符分为两种类型:普通字符和元字符.普通字符是指字面含义不变 ...
- JavaScript正则表达式详解(二)JavaScript中正则表达式函数详解
二.JavaScript中正则表达式函数详解(exec, test, match, replace, search, split) 1.使用正则表达式的方法去匹配查找字符串 1.1. exec方法详解 ...
- Python自动化 【第十八篇】:JavaScript 正则表达式及Django初识
本节内容 JavaScript 正则表达式 Django初识 正则表达式 1.定义正则表达式 /.../ 用于定义正则表达式 /.../g 表示全局匹配 /.../i 表示不区分大小写 /.../m ...
随机推荐
- Html.BeginForm 与Section、Partial View 和 Child Action
该方法用于构建一个From表单的开始,他的构造方法为: Html.BeginForm("ActionName","ControllerName",FormMet ...
- MapReduce小文件处理之CombineFileInputFormat实现
在MapReduce使用过程中.一般会遇到输入文件特别小(几百KB.几十MB).而Hadoop默认会为每一个文件向yarn申请一个container启动map,container的启动关闭是很耗时的. ...
- How to Use HTML5 FUll Screen API(怎样使用HTML5全屏接口)
原文链接:http://www.sitepoint.com/use-html5-full-screen-api/ 假设你不太喜欢变化太快的东西,那么web开发可能不适合你. 我曾在2012年末有写过F ...
- 常见Linux/Unix开发辅助命令什锦
很多零碎命令集锦: 1. 怎样通过命令下载ftp文件 read -s -p "Your passwd: " Passwd; wget --user=YourUserName --p ...
- memcached windows 修改端口
要想在windows中使用memcached,必须先下载memcached for win32安装. 下载地址:http://jehiah.cz/projects/memcached-win32/ 解 ...
- line-height:0的使用
在这里不介绍line-height的概念 建议看一下张鑫旭 写的line-height 文章 这里只说 用到的一些小地方 div中img有间隙的解决方案就是用到了这个小小的属性 那么请看方案 方案 ...
- textarea中的内容的获取
今天他们说为啥获取不到textarea的数值 这个问题让我很纳闷 为什么会获取不到呢? 按照逻辑来说 同样都是表单元素 怎么可能出现呢? 我就看了一眼代码 alert($("#texta ...
- LINQ to Tree - A Generic Technique for Querying Tree-like Structures,包含遍历WPF VisualTree
https://www.codeproject.com/Articles/62397/LINQ-to-Tree-A-Generic-Technique-for-Querying-Tree#generi ...
- HDU 5901 Count primes (2016 acm 沈阳网络赛)
原题地址:http://acm.hdu.edu.cn/showproblem.php?pid=5901 题意:输入n,输出n以内质数个数 模板题,模板我看不懂,只是存代码用. 官方题解链接:https ...
- ios 手势返回<1>2
iOS-给push出来的控制器添加全局滑动(返回)手势 在iOS中,当我们push出一个新的控制器的时候,我们可以向右拖拽屏幕的左边缘来返回(pop)到上一级控制器,但是这个功能有两个缺陷: 当自 ...