简单谈谈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 insertAfter() 实现函数代码
Oct 12 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
Sep 14 Javascript
js遍历、动态的添加数据的小例子
Jun 22 Javascript
js实现带搜索功能的下拉框实时搜索实时匹配
Nov 05 Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
Nov 13 Javascript
js实现的鼠标滚轮滚动切换页面效果(类似360默认页面滚动切换效果)
Jan 27 Javascript
JS遍历数组和对象的区别及递归遍历对象、数组、属性的方法详解
Jun 14 Javascript
深入浅析JavaScript中的Function类型
Jul 09 Javascript
浅谈js内置对象Math的属性和方法(推荐)
Sep 19 Javascript
微信小程序实现点击空白隐藏的方法示例
Aug 13 Javascript
vue实现把接口单独存放在一个文件方式
Aug 13 Javascript
vue-router中hash模式与history模式的区别
Jun 23 Vue.js
详解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处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
帝国cms目录结构分享
2015/07/06 PHP
详解PHP中array_rand函数的使用方法
2016/09/11 PHP
php mysql操作mysql_connect连接数据库实例详解
2016/12/26 PHP
PHP设计模式之单例模式定义与用法分析
2019/03/26 PHP
JavaScript var声明变量背后的原理示例解析
2013/10/12 Javascript
使用POST方式弹出窗口的两种方法示例介绍
2014/01/29 Javascript
jquery+php实现搜索框自动提示
2014/11/28 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
React Native中TabBarIOS的简单使用方法示例
2017/10/13 Javascript
详解vue-cli官方脚手架配置
2018/07/20 Javascript
Jquery实现获取子元素的方法分析
2019/08/24 jQuery
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
Vue程序化的事件监听器(实例方案详解)
2020/01/07 Javascript
JavaScript实现移动端弹窗后禁止滚动
2020/05/25 Javascript
Vue实现可移动水平时间轴
2020/06/29 Javascript
JavaScript实现世界各地时间显示
2020/09/07 Javascript
[01:29]2014DOTA2展望TI 剑指西雅图DK战队专访
2014/06/30 DOTA
Python实现的旋转数组功能算法示例
2019/02/23 Python
Django 实现Admin自动填充当前用户的示例代码
2019/11/18 Python
tensorflow之变量初始化(tf.Variable)使用详解
2020/02/06 Python
Python字典取键、值对的方法步骤
2020/09/30 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
详解CSS3中的box-sizing(content-box与border-box)
2019/04/19 HTML / CSS
New Balance美国官网:运动鞋和健身服装
2017/04/11 全球购物
专升本自我鉴定
2013/10/10 职场文书
成功的酒店创业计划书
2013/12/27 职场文书
大学生志愿者感言
2014/01/15 职场文书
计算机专业职业生涯规划范文
2014/01/19 职场文书
国培远程培训感言
2014/03/08 职场文书
消防安全责任书范本
2014/04/15 职场文书
幼儿园教师节演讲稿
2014/09/03 职场文书
2014年预算员工作总结
2014/12/05 职场文书
2016国庆促销广告语
2016/01/28 职场文书
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技