简单谈谈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 相关文章推荐
jquery 图片Silhouette Fadeins渐显效果
Feb 07 Javascript
Javascript new关键字的玄机 以及其它
Aug 25 Javascript
js读取配置文件自写
Feb 11 Javascript
jQuery使用之设置元素样式用法实例
Jan 19 Javascript
Web打印解决方案之证件套打的实现思路
Aug 29 Javascript
AngualrJs清除定时器遇到的坑
Oct 13 Javascript
AngularJS实现的获取焦点及失去焦点时的表单验证功能示例
Oct 25 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
微信小程序地图导航功能实现完整源代码附效果图(推荐)
Apr 28 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
Nov 15 Javascript
Vue程序化的事件监听器(实例方案详解)
Jan 07 Javascript
解决vue请求接口第一次成功,第二次失败问题
Sep 08 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字符串函数的总结分析
2013/06/05 PHP
WordPress开发中的get_post_custom()函数使用解析
2016/01/04 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
PHP打印输出函数汇总
2016/08/28 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
jquery DIV撑大让滚动条滚到最底部代码
2013/06/06 Javascript
js检测浏览器版本、核心、是否移动端示例
2014/04/24 Javascript
jquery实现浮动的侧栏实例
2015/06/25 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
JS实现双击屏幕滚动效果代码
2015/10/28 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
2017/02/21 Javascript
D3.js实现拓扑图的示例代码
2018/06/30 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
Vue+penlayers实现多边形绘制及展示
2020/12/24 Vue.js
Python编程中的文件操作攻略
2015/10/16 Python
简单讲解Python中的数字类型及基本的数学计算
2016/03/11 Python
Django框架多表查询实例分析
2018/07/04 Python
我用Python抓取了7000 多本电子书案例详解
2019/03/25 Python
Python测试模块doctest使用解析
2019/08/10 Python
基于python实现删除指定文件类型
2020/07/21 Python
如何利用Python 进行边缘检测
2020/10/14 Python
Selenium执行完毕未关闭chromedriver/geckodriver进程的解决办法(java版+python版)
2020/12/07 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
外贸业务员求职信范文
2013/12/12 职场文书
工程采购员岗位职责
2014/03/09 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
小学三八妇女节活动方案
2014/03/16 职场文书
2014年社区工作总结
2014/11/18 职场文书
班委竞选稿范文
2015/11/21 职场文书
thinkphp 获取控制器及控制器方法
2021/04/16 PHP