简单谈谈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 图片 上一张 下一张 链接效果(续篇)
Apr 20 Javascript
javascript 拖动表格行实现代码
May 05 Javascript
THREE.JS入门教程(4)创建粒子系统
Jan 24 Javascript
jquery 实现二级/三级/多级联动菜单的思路及代码
Apr 08 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
Nov 07 Javascript
分享JavaScript获取网页关闭与取消关闭的事件
Dec 13 Javascript
js使用心得分享
Jan 13 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
JavaScript下拉菜单功能实例代码
Mar 01 Javascript
浅谈在vue中使用mint-ui swipe遇到的问题
Sep 27 Javascript
JavaScript的级联函数用法简单示例【链式调用】
Mar 26 Javascript
js实现图片无缝循环轮播
Oct 28 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下读取文本文件的代码
2008/07/02 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
2016/05/21 PHP
Yii2框架中日志的使用方法分析
2017/05/22 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
PHP __call()方法实现委托示例
2019/05/20 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
Laravel重定向,a链接跳转,控制器跳转示例
2019/10/22 PHP
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
2013/07/08 Javascript
js与jQuery 获取父窗、子窗的iframe
2013/12/20 Javascript
js获取当前路径的简单示例代码
2014/01/08 Javascript
使用VS开发 Node.js指南
2015/01/06 Javascript
JavaScript获取并更改input标签name属性的方法
2015/07/02 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
函数四种调用模式以及其中的this指向
2017/01/16 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
angularjs路由传值$routeParams详解
2020/09/05 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
解决vue-cli创建项目的loader问题
2018/03/13 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
2018/03/15 Javascript
nodejs异步编程基础之回调函数用法分析
2018/12/26 NodeJs
python使用PIL缩放网络图片并保存的方法
2015/04/24 Python
Python实现变量数值交换及判断数组是否含有某个元素的方法
2017/09/18 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
如何利用Python分析出微信朋友男女统计图
2019/01/25 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
python 链接sqlserver 写接口实例
2020/03/11 Python
解决python运行启动报错问题
2020/06/01 Python
基于Keras 循环训练模型跑数据时内存泄漏的解决方式
2020/06/11 Python
英国最大的专业户外零售商:Mountain Warehouse
2018/06/06 全球购物
购买美国制造的相框和画框架:Picture Frames
2018/08/14 全球购物
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
2014年公司迎新年活动方案
2014/02/24 职场文书
四风问题对照检查材料思想汇报
2014/10/07 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
Python中Selenium对Cookie的操作方法
2021/07/09 Python
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB