简单谈谈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 相关文章推荐
某页码显示的helper 少量调整,另附js版
Sep 12 Javascript
一样的table?不一样的table(可编辑状态table)
Sep 19 Javascript
Jquery实现顶部弹出框特效
Aug 08 Javascript
js操作table元素实现表格行列新增、删除技巧总结
Nov 18 Javascript
javascript实现简易计算器的代码
May 31 Javascript
Node.js批量给图片加水印的方法
Nov 15 Javascript
简单实现bootstrap选项卡效果
Feb 08 Javascript
详解如何提高 webpack 构建 Vue 项目的速度
Jul 03 Javascript
ES6/JavaScript使用技巧分享
Dec 14 Javascript
Vue使用vue-area-linkage实现地址三级联动效果的示例
Jun 27 Javascript
layui layer select 选择被遮挡的解决方法
Sep 21 Javascript
详解js location.href和window.open的几种用法和区别
Dec 02 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 session有效期问题
2009/04/26 PHP
三个类概括PHP的五种设计模式
2012/09/05 PHP
使用PHP实现阻止用户上传成人照片或者裸照
2014/12/25 PHP
Mac OS下配置PHP+MySql环境
2015/02/25 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
DOMAssitant最新版 DOMAssistant 2.5发布
2007/12/25 Javascript
javascript函数中的arguments参数
2010/08/01 Javascript
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
jquery怎样实现ajax联动框(二)
2013/03/08 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
使用时间戳解决ie缓存的问题
2014/08/20 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
JS中作用域和变量提升(hoisting)的深入理解
2016/10/31 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
jQuery使用bind动态绑定事件无效的处理方法
2018/12/11 jQuery
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
python3+dlib实现人脸识别和情绪分析
2018/04/21 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
在Python中使用defaultdict初始化字典以及应用方法
2018/10/31 Python
python tkinter窗口最大化的实现
2019/07/15 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
2019/12/19 Python
python爬虫基础之urllib的使用
2020/12/31 Python
Speedo澳大利亚官网:全球领先游泳品牌
2018/02/04 全球购物
Haggar官网:美国男装品牌
2020/02/16 全球购物
就业推荐表自我鉴定范文
2014/03/21 职场文书
遗嘱公证书标准样本
2014/04/08 职场文书
个人向公司借款协议书
2014/10/09 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
网络营销实训总结
2015/08/03 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
《游戏王:大师决斗》将推出新卡牌包4月4日上线
2022/03/31 其他游戏