简单谈谈JS中的正则表达式


Posted in Javascript onSeptember 11, 2017

1、正则表达式包括两部分

①定义正则表达式的规则;

②正则表达式的模式(i/g/m);

2、声明正则表达式

① 字面量声明: var reg = /表达式规则/表达式模式;

eg:var reg = /white/g;

② 使用new关键字: var reg = new RegExp("表达式规则","表达式模式")

eg: var reg = new RegExp("white","g");

3、正则表达式的三种模式

① g:全局匹配。不加g默认为非全局匹配,只匹配第一个符合要求的字符串;

eg:"www".replace(/w/ ,"#"); -->#ww;

"www".replace(/w/g,"#"); -->###;

② i:忽略大小写。不加i,默认要求大写也匹配;

eg: "aAa".replace( /A/ ,"#"); -->a#a;

"aAa".replace( /A/i ,"#"); -->#Aa;

"aAa".replace( /A/gi ,"#"); -->###;

③ m:多行匹配模式。不带m,则一个字符串只有一个开头,一个结尾。带m后,如果字符串分为多行,则每行都有一个开头和结尾。

eg: `abc`#bc

abc`.replace(/^a/g,"#") --> abc`=

`abc``#bc

abc`.replace(/^a/gm,"#") --> #bc`

[如何写多行字符串?]

>>>普通字符串中,插入\n表示换行。"abc\nabc"
>>>ES6中,允许使用反引号`包裹字符串。反引号包裹的字符串中,会保留空格与回车。

eg: `abc

abc`

4、正则表达式的常用方法

① test():检测一个字符串,是否符合正则表达式的验证。返回true或false;

eg: /white/.test("whitewhitewhite"); --> true

② exec():检测一个字符串,是否符合正则表达式的验证。如果验证成功,返回结果数组;如果验证失败,返回null;

结果数组中:

index属性:表示从字符串的第几个字符,开始符合正则要求

input属性:返回完整的被检索的字符串

下标第0个:表示符合整个正则表达式的那部分字符串

下标的第一个到第n个:表示符合正则的第一个到第n个子表达式的部分。子表达式,就是正则中的()。也就是,正则中有几个(),结果数组中就有几个下标。

eg: /12(3)(4)5/.exec("aaa12345");

[

0:12345;

1:3;

2:4;

index:3;

input:"aaa12345";

length:3

]

5、正则表达式的基本案例

①验证邮政编码

简单谈谈JS中的正则表达式结果为:简单谈谈JS中的正则表达式

②验证手机号

简单谈谈JS中的正则表达式结果为:简单谈谈JS中的正则表达式

③年龄在0-120岁之间

简单谈谈JS中的正则表达式

④域名:http://xxxxx.xxxx.com

var http = /^(http|https):\/\/([A-Za-z0-9\-]+\.){2}[A-Za-z]{2,4}(\.[A-Za-z]{2,4})?$/;

⑤验证IP地址(0.123.11.255)

简单谈谈JS中的正则表达式

var ip = /^((\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])\.){3}(\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5])$/;

以上这篇简单谈谈JS中的正则表达式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript操纵Cookie实现购物车程序
Feb 15 Javascript
用cookies实现的可记忆的样式切换效果代码下载
Dec 24 Javascript
jQuery 核心函数以及jQuery对象
Mar 23 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
Aug 28 Javascript
javascript定义类和类的实现实例详解
Dec 01 Javascript
JavaScript获取对象在页面中位置坐标的方法
Feb 03 Javascript
Node.js编写爬虫的基本思路及抓取百度图片的实例分享
Mar 12 Javascript
JS+CSS实现滚动数字时钟效果
Dec 25 Javascript
vue-cli3.0如何使用CDN区分开发、生产、预发布环境
Nov 22 Javascript
配置eslint规范项目代码风格
Mar 11 Javascript
vue2路由方式--嵌套路由实现方法分析
Mar 06 Javascript
Node.js API详解之 util模块用法实例分析
May 09 Javascript
详解Vue双向数据绑定原理解析
Sep 11 #Javascript
基于DOM节点删除之empty和remove的区别(详解)
Sep 11 #Javascript
在原生不支持的旧环境中添加兼容的Object.keys实现方法
Sep 11 #Javascript
基于bootstrop常用类总结(推荐)
Sep 11 #Javascript
利用JQuery操作iframe父页面、子页面的元素和方法汇总
Sep 10 #jQuery
利用纯js + transition动画实现移动端web轮播图详解
Sep 10 #Javascript
原生JS实现移动端web轮播图详解(结合Tween算法造轮子)
Sep 10 #Javascript
You might like
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
2010/10/12 PHP
php列出一个目录下的所有文件的代码
2012/10/09 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
[原创]后缀就扩展名为js的文件是什么文件
2007/12/06 Javascript
JavaScript入门教程(9) Document文档对象
2009/01/31 Javascript
Moment.js 不容错过的超棒Javascript日期处理类库
2012/04/15 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
javascript中attribute和property的区别详解
2014/06/05 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
JavaScript基础函数整理汇总
2015/01/30 Javascript
每天一篇javascript学习小结(基础知识)
2015/11/10 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
2019/01/21 Javascript
详解vuex之store源码简单解析
2019/06/13 Javascript
vue实现滑动到底部加载更多效果
2020/10/27 Javascript
[04:56]经典回顾:前Ehome 与 前LGD
2015/02/26 DOTA
[52:07]完美世界DOTA2联赛PWL S3 LBZS vs access 第二场 12.10
2020/12/13 DOTA
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
django在接受post请求时显示403forbidden实例解析
2018/01/25 Python
python 读取文件并替换字段的实例
2018/07/12 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
Hotter Shoes英国官网:英伦风格,舒适的鞋子
2017/12/28 全球购物
Java如何调用外部Exe程序
2015/07/04 面试题
小学生母亲节演讲稿
2014/05/07 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
工作年限证明模板
2014/11/01 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书
Golang实现AES对称加密的过程详解
2021/05/20 Golang
sql注入教程之类型以及提交注入
2021/08/02 MySQL
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python