简单谈谈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 相关文章推荐
ToolTips JQEURY插件之简洁小提示框效果
Nov 19 Javascript
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
Dec 11 Javascript
JavaScript 命名空间 使用介绍
Aug 29 Javascript
js(jQuery)获取时间的方法及常用时间类搜集
Oct 23 Javascript
浅析创建javascript对象的方法
May 13 Javascript
Select2.js下拉框使用小结
Oct 24 Javascript
详解vue事件对象、冒泡、阻止默认行为
Mar 20 Javascript
解决vue router组件状态刷新消失的问题
Aug 01 Javascript
浅谈vue异步数据影响页面渲染
Oct 29 Javascript
Nuxt v-bind绑定img src不显示的解决
Dec 05 Javascript
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
微信小程序实现简单的select下拉框
Nov 23 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图像处理类库MagickWand用法实例分析
2015/05/21 PHP
PHP读取文本文件并逐行输出该行使用最多的字符与对应次数的方法
2016/11/25 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
javascript 常用关键字列表集合
2007/12/04 Javascript
javascript 计算两个整数的百分比值
2009/12/26 Javascript
Confirmer JQuery确认对话框组件
2010/06/09 Javascript
使用jQuery validate 验证注册表单实例演示
2013/03/25 Javascript
分析Node.js connect ECONNREFUSED错误
2013/04/09 Javascript
一个简单的瀑布流效果(主体形式自写)
2013/05/27 Javascript
js获取dom的高度和宽度(可见区域及部分等等)
2013/06/13 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
一个非常全面的javascript URL解析函数和分段URL解析方法
2014/04/12 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
js控制网页背景音乐播放与停止的方法
2015/02/06 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
全面解析Bootstrap排版使用方法(文字样式)
2015/11/30 Javascript
js 定义对象数组(结合)多维数组方法
2016/07/27 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
2018/07/06 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
基于nodejs的雪碧图制作工具的示例代码
2018/11/05 NodeJs
js实现多张图片每隔一秒切换一张图片
2019/07/29 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
Python中的文件和目录操作实现代码
2011/03/13 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
Python中存取文件的4种不同操作
2018/07/02 Python
Python3.4解释器用法简单示例
2019/03/22 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
什么是方法的重载
2013/06/24 面试题
《在家里》教后反思
2014/03/01 职场文书
古汉语文学求职信范文
2014/03/16 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
文明和谐家庭事迹材料(2016精选版)
2016/02/29 职场文书
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL