简单谈谈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 精粹读书笔记(1,2)
Feb 07 Javascript
在IE6下发生Internet Explorer cannot open the Internet site错误
Jun 21 Javascript
一个简单的全屏图片上下打开显示网页效果示例
Jul 08 Javascript
AngularJS学习笔记之TodoMVC的分析
Feb 22 Javascript
Yii2使用Bootbox插件实现自定义弹窗
Apr 02 Javascript
JavaScript计算器网页版实现代码分享
Jul 15 Javascript
微信小程序 教程之引用
Oct 18 Javascript
解决vue 绑定对象内点击事件失效问题
Sep 05 Javascript
微信小程序在地图选择地址并返回经纬度简单示例
Dec 03 Javascript
Vue 动态组件components和v-once指令的实现
Aug 30 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
Mar 07 Javascript
js获取图片的base64编码并压缩
Dec 05 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
PHP新手上路(十四)
2006/10/09 PHP
php中stream(流)的用法
2014/03/25 PHP
destoon之一键登录设置
2014/06/21 PHP
javascript引导程序
2008/10/26 Javascript
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
JavaScript初学者建议:不要去管浏览器兼容
2014/02/04 Javascript
Jquery 实现table样式的设定
2015/01/28 Javascript
JQuery复制DOM节点的方法
2015/06/11 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
2015/11/29 Javascript
JavaScript数组操作函数汇总
2016/08/05 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
如何在Angular2中使用jQuery及其插件的方法
2017/02/09 Javascript
jQuery插件FusionWidgets实现的AngularGauge图效果示例【附demo源码】
2017/03/23 jQuery
使用travis-ci如何持续部署node.js应用详解
2017/07/30 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
jQuery表单元素过滤选择器用法实例分析
2019/02/20 jQuery
JS实现li标签的删除
2019/04/12 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
Python装饰器使用示例及实际应用例子
2015/03/06 Python
理解Python中的With语句
2016/03/18 Python
Python操作使用MySQL数据库的实例代码
2017/05/25 Python
keras 自定义loss损失函数,sample在loss上的加权和metric详解
2020/05/23 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
Django haystack实现全文搜索代码示例
2020/11/28 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
PUMA澳大利亚官方网站:德国运动品牌
2018/10/19 全球购物
Foot Locker英国官网:美国知名运动产品零售商
2019/02/21 全球购物
Tod’s英国官方网站:意大利奢华手工制作手袋和鞋履
2019/03/15 全球购物
领导失职检讨书
2014/02/24 职场文书
党员四风问题对照检查材料思想汇报
2014/09/16 职场文书
老人节标语大全
2014/10/08 职场文书
JMeter对MySQL数据库进行压力测试的实现步骤
2022/01/22 MySQL
2022年显卡天梯图(6月更新)
2022/06/17 数码科技