简单谈谈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  Error 对象 错误处理
May 18 Javascript
jQuery 隔行换色 支持键盘上下键,按Enter选定值
Aug 02 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
Mar 23 Javascript
基于jquery实现漂亮的动态信息提示效果
Aug 02 Javascript
jquery等待效果示例
May 01 Javascript
JS设置网页图片vspace和hspace属性的方法
Apr 01 Javascript
详解使用JS如何制作简单的ASCII图与单极图
Mar 31 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
Aug 18 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
Sep 10 Javascript
详述 Sublime Text 打开 GBK 格式中文乱码的解决方法
Oct 26 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
Apr 28 Javascript
js中的this的指向问题详解
Aug 29 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
简单实用的.net DataTable导出Execl
2013/10/28 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
PHP创建word文档的方法(平台无关)
2016/03/29 PHP
input输入框鼠标焦点提示信息
2015/03/17 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
Servlet实现文件上传,可多文件上传示例
2016/12/05 Javascript
原生js更改css样式的两种方式
2017/03/15 Javascript
JS利用cookies设置每隔24小时弹出框
2017/04/20 Javascript
jstree单选功能的实现方法
2017/06/07 Javascript
input type=file 选择图片并且实现预览效果的实例
2017/10/26 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
vue中Npm run build 根据环境传递参数方法来打包不同域名
2018/03/29 Javascript
Vue.js 使用v-cloak后仍显示变量的解决方法
2018/11/19 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
js类的继承定义与用法分析
2019/06/21 Javascript
[03:17]2014DOTA2 国际邀请赛中国区预选赛 四强专访
2014/05/23 DOTA
Python实现批量更换指定目录下文件扩展名的方法
2016/09/19 Python
详解Python多线程
2016/11/14 Python
python 使用get_argument获取url query参数
2017/04/28 Python
使用python的pandas为你的股票绘制趋势图
2019/06/26 Python
python同时替换多个字符串方法示例
2019/09/17 Python
python读取raw binary图片并提取统计信息的实例
2020/01/09 Python
Python3 selenium 实现QQ群接龙自动化功能
2020/04/17 Python
如何通过命令行进入python
2020/07/06 Python
Python文件操作及内置函数flush原理解析
2020/10/13 Python
Python实现壁纸下载与轮换
2020/10/19 Python
即将毕业大学生自荐信
2014/01/24 职场文书
电子信息专业自荐书
2014/02/04 职场文书
学校庆元旦歌咏比赛主持词
2014/03/18 职场文书
土地租赁意向书
2014/07/30 职场文书
幼儿园教师师德师风演讲稿:爱我所爱 无悔青春
2014/09/10 职场文书
信用卡工资证明格式
2014/09/13 职场文书
农村党支部书记党群众路线四风问题整改措施
2014/09/26 职场文书
2019最新版股权转让及委托持股协议书范本
2019/08/07 职场文书