简单谈谈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图像处理—为矩阵添加常用方法
Dec 27 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
Jan 11 Javascript
深入解析contentWindow, contentDocument
Jul 04 Javascript
confirm的用法示例用于按钮操作时确定是否执行
Jun 19 Javascript
js随机生成26个大小写字母
Feb 12 Javascript
JS拉起或下载app的实现代码
Feb 22 Javascript
js获取css的各种样式并且设置他们的方法
Aug 22 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
May 31 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
Jun 01 Javascript
一个简单的node.js界面实现方法
Jun 01 Javascript
Vue子组件向父组件通信与父组件调用子组件中的方法
Jun 22 Javascript
实例分析javascript中的异步
Jun 02 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基础知识:类与对象(2) 自动加载对象
2006/12/13 PHP
php使用gzip压缩传输js和css文件的方法
2015/07/29 PHP
WordPress的文章自动添加关键词及关键词的SEO优化
2016/03/01 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
Javascript面向对象设计一 工厂模式
2011/12/20 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
jQuery实现感应鼠标动画效果自动伸长的输入框实例
2015/02/24 Javascript
JS实现仿Windows7风格的网页右键菜单效果代码
2015/09/11 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
详解js产生对象的3种基本方式(工厂模式,构造函数模式,原型模式)
2017/01/09 Javascript
js实现短信发送倒计时功能(正则验证)
2017/02/10 Javascript
原生js二级联动效果
2017/06/20 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
Vue实现导航栏点击当前标签变色功能
2020/08/19 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
2020/08/13 Javascript
Python socket C/S结构的聊天室应用实现
2014/11/30 Python
Python中urllib2模块的8个使用细节分享
2015/01/01 Python
python的pandas工具包,保存.csv文件时不要表头的实例
2018/06/14 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
django框架模型层功能、组成与用法分析
2019/07/30 Python
详解CSS3中border-image的使用
2015/07/18 HTML / CSS
什么是封装
2013/03/26 面试题
连锁经营管理专业大学生求职信
2013/10/30 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
八月迷情观后感
2015/06/11 职场文书
教师读书笔记
2015/06/29 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
写一个Python脚本自动爬取Bilibili小视频
2021/04/24 Python
python基于opencv批量生成验证码的示例
2021/04/28 Python
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫
CentOS7环境下MySQL8常用命令小结
2022/06/10 Servers