韩顺平 javascript教学视频_学习笔记34_js正则表达式详解
内容介绍----正则表达式的详解
![](/assets/blank.gif)
正则表达式对象:
![](/assets/blank.gif)
![](/assets/blank.gif)
- RegExp对象方法
![](/assets/blank.gif)
- String 对象与正则表达式有关的方法
![](/assets/blank.gif)
![](/assets/blank.gif)
<script type="text/javascript">var str="Visit W3School!"
document.write(str.search(/W3School/))</script>
<!DOCTYPE html>
<html>
<head>
<script language="javascript"> function test1(){//match()方法var con=content.innerText;var myReg=/abc/gi; res = con.match(myReg);for(var i=0;i<res.length;i++){window.alert(i+" "+res[0]);}}
</script>
</head>
<body>
<textarea id="content" rows="10" cols="20">
abcasdlfkjaslkabca;lkfjasl;dkabcaslkfjs;alkdfj
</textarea>
<input type="button" value="测试" οnclick="test1()"/>
</body>
</html>
![](/assets/blank.gif)
<!DOCTYPE html>
<html>
<head>
<script language="javascript"> //replace()方法function test1(){var con=content.innerText;//把四个数,换成 这里原来有四个数var myReg=/abc/gi; var newCon = con.replace(myReg,"这里原来有四个数");content.innerText=newCon;}
</script>
</head>
<body>
<textarea id="content" rows="10" cols="20">
abcasdlfkjaslk1234abca;lkfjas4345657l;dkabc56878aslkfjs;alkdfjsadjlfkjsdkflj;sldk
</textarea>
<input type="button" value="开始替换" οnclick="test1()"/>
</body>
</html>
split()方法
- RegExp对象的属性
![](/assets/blank.gif)
<!DOCTYPE html>
<html>
<head>
<script language="javascript"> //index,leftContext,rightContext 三个属性function test1(){var con=content.innerText;//把四个数,换成 这里原来有四个数var myReg=/abc/gi; while(res=myReg.exec(con)){window.alert("index:"+RegExp.index+" leftContext:"+RegExp.leftContext+" rightContext:"+RegExp.rightContext);}}
</script>
</head>
<body>
<textarea id="content" rows="10" cols="20">
abcasdlfkjaslk1234abca;lkfjas4345657l;dkabc56878aslkfjs;alkdfjsadjlfkjsdkflj;sldk
</textarea>
<input type="button" value="测试" οnclick="test1()"/>
</body>
</html>
![](/assets/blank.gif)
![](/assets/blank.gif)
<!DOCTYPE html>
<html>
<head>
<script language="javascript"> function test1(){var con=content.innerText;var myReg=/(\d)(\d)\2\1/gi; //解释:看后面while(res=myReg.exec(con)){window.alert(res[0]);}}
</script>
</head>
<body>
<textarea id="content" rows="10" cols="20">
289472393443982374982374788729837491898892983754985
</textarea>
<input type="button" value="测试" οnclick="test1()"/>
</body>
</html>
![](/assets/blank.gif)
<!DOCTYPE html>
<html>
<head>
<script language="javascript"> function test1(){var con=content.innerText;//查找类似于 aabbccdd 的数字var myReg1=/(\d)\1(\d)\2(\d)\3(\d)\4/gi; while(res=myReg1.exec(con)){window.alert(res[0]);}//查找类似于 12321-333999111 这样的号码,要求满足前面是一个五位数,然后是一个-号//然后是一个九位数,连续的每三位要相同//下面 4 种方法都是可以的//var myReg2=/(\d){5}-(\d)\2\2(\d)\3\3(\d)\4\4/gi; //var myReg2=/(\d){5}(-)(\d)\3\3(\d)\4\4(\d)\5\5/gi; //var myReg2=/(\d){5}(-)((\d)\4\4){3}/gi; var myReg2=/(\d){5}-((\d)\3\3){3}/gi; //注意:这里不是((\d)\2\2){3},反向捕获是以左括号为标志的,前面有几个左括号,那么就反向捕获第几个子表达式的内容while(res=myReg2.exec(con)){window.alert(res[0]);}}
</script>
</head>
<body>
<textarea id="content" rows="10" cols="20">
289472393443981122334423755667788412321-33399911198237478875241-99966655529837491898892983754985
</textarea>
<input type="button" value="测试" οnclick="test1()"/>
</body>
</html>
- 元字符
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
<!DOCTYPE html>
<html>
<head>
<script language="javascript"> function test1(){var con=content.innerText;var myReg1=/(\w)\1{2}/gi; //对这个表达式要好好理解while(res=myReg1.exec(con)){window.alert(res[0]);}}
</script>
</head>
<body>
<textarea id="content" rows="10" cols="20">
289472393fff555443sdfkjghkj98112233442375hkj566
</textarea>
<input type="button" value="测试" οnclick="test1()"/>
</body>
</html>
![](/assets/blank.gif)
![](/assets/blank.gif)
![](/assets/blank.gif)
var myReg1=/^han/gi; //匹配字符串中的开头的han
var myReg2=/han$/gi; //匹配字符串中的最后的han
![](/assets/blank.gif)
![](/assets/blank.gif)
<!DOCTYPE html>
<html>
<head>
<script language="javascript"> function test1(){var con=content.innerText;var myReg1=/^[a-zA-z0-9_-]+@([a-zA-z0-9]+\.)+(com|cn|net|org)$/gi; var res=myReg1.exec(con)if(res){window.alert("是邮件");window.alert(res[0]);}else {window.alert("不是邮件");}}</script>
</head>
<body>
<textarea id="content" rows="10" cols="20"></textarea>
<input type="button" value="测试" οnclick="test1()"/><br/>
</body>
</html>
韩顺平 javascript教学视频_学习笔记34_js正则表达式详解相关推荐
- 韩顺平 javascript教学视频_学习笔记20_多态经典案例_补讲闭包细节
多态经典案例 经典案例,看代码: <html> <head> <script language="javascript"> function M ...
- 韩顺平 javascript教学视频_学习笔记17_js超级玛丽小游戏
采用面向对象思想设计超级马里奥游戏人物 怎么用通过按键,来控制图片的位置 这个小游戏,用面向对象会很方便,不用面向对象会很麻烦很麻烦,比如以后要讲解的坦克大战的游戏,要是用纯的面向过程或函数式的方式写 ...
- ELK学习笔记之Logstash详解
0x00 Logstash概述 官方介绍:Logstash is an open source data collection engine with real-time pipelining cap ...
- expect学习笔记及实例详解【转】
1. expect是基于tcl演变而来的,所以很多语法和tcl类似,基本的语法如下所示: 1.1 首行加上/usr/bin/expect 1.2 spawn: 后面加上需要执行的shell命令,比如说 ...
- Java中大数据数组,Java基础学习笔记之数组详解
摘要:这篇Java开发技术栏目下的"Java基础学习笔记之数组详解",介绍的技术点是"java基础学习笔记.基础学习笔记.Java基础.数组详解.学习笔记.Java&qu ...
- oracle scn 重置,学习笔记:Oracle SCN详解 SCN与Oracle数据库恢复的关系
天萃荷净 分享一篇关于Oracle SCN的详解,介绍SCN与Oracle数据库恢复的关系和SCN在数据库中的作用 一.为什么需要System checkpoint SCN号与Datafile Che ...
- qstring如何初始化_学习QT之QString详解
学习QT之QString详解 QString类保存16位Unicode值,提供了丰富的操作.查询和转换函数.该类还进行了使用隐式共享.高效的内存分配策略等多方面的优化. 一.字符串常用操作 字符串的操 ...
- CSS入门学习笔记(案例+详解)
CSS入门学习笔记 一.CSS简介 1.什么是CSS? 2.为什么使用CSS? 3.CSS的作用 二.CSS语法 1.CSS基础语法 2.CSS注释语法 3.CSS应用方法 三.CSS选择器 1.元素 ...
- 【Python全栈100天学习笔记】Day37MySQL详解(sql语句基本操作含索引、视图、存储过程)
SQL详解 基本操作 我们通常可以将SQL分为三类:DDL(数据定义语言).DML(数据操作语言)和DCL(数据控制语言).DDL主要用于创建(create).删除(drop).修改(alter)数据 ...
最新文章
- Webwork 学习之路【07】文件上传下载
- github 克隆项目过慢
- 【转】为什么要进行傅立叶变换?傅立叶变换究竟有何意义?如何用Matlab实现快速傅立叶变换?...
- Raw Socket编程
- hdu--1075--字典树||map
- linux中如何在文件中查找文件,linux下find(文件查找)命令的用法总结
- c语言不定参数个数,C语言中不定参数的实现
- 20145302张薇《Java程序设计》第十周学习总结
- Linux:计划任务之at
- 之江天枢正式开源!一文详解天枢核心优势
- QQ资料清空php源码,[php源码][QQ玫瑰小镇]一键收铲种,php网页版
- wxpython4下载_Linux 安装 wxPython4.0.4
- 计算机语言发展ppt,计算机语言的发展.ppt
- 【读书笔记】《人性的弱点》——卡耐基
- sql分组排序, 分页查询
- 【蓝桥杯Java组】一学就会的小技巧(五):矩阵快速幂
- 域名投毒,DNS污染,域名欺骗,其实就是域名污染。
- cearte-react-app中craco中优雅引入svg【自定义宽、高、颜色,仅需5步】
- 解决99%的卡刷包无法通过ROM制作工具修改的问题
- 1分钟链圈|腾讯区块链(天津)被责令更名;Casper更新可能导致社区再次分裂...
热门文章
- 数控直流电压源的设计与制作
- 【N32G457 】基于RT-Thread和N32G457的传送带物品计数器
- 大数据和云计算技术周报(第0期)
- DaisyDisk for Mac(系统清理软件)中文版
- 网页版《2048游戏》
- HTML设计抖音页面,CSS3解析抖音LOGO制作的方法步骤
- 计算机专业三本院校的全国排名2015,全国理科三本大学排名2015年最新
- YouCompleteMe(YCM)安装时遇到的问题(能遇到的几乎都遇到了)
- 基本的python内置函数str(x)_Python内置函数(12)——str
- 腾讯云大学大咖分享 | 探索云直播技术