简单谈谈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 相关文章推荐
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
Jun 14 Javascript
33种Javascript 表格排序控件收集
Dec 03 Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
Nov 19 Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
Dec 14 Javascript
jquery中ready()函数执行的时机和window的load事件比较
Jun 22 Javascript
浅谈javascript的Array.prototype.slice.call
Aug 31 Javascript
Svg.js实例教程及使用手册详解(一)
May 16 Javascript
jQuery实现动态文字搜索功能
Jan 05 Javascript
JavaScript中正则表达式判断匹配规则及常用方法
Aug 03 Javascript
jQuery实现可兼容IE6的淡入淡出效果告警提示功能示例
Sep 20 jQuery
微信小程序开发之点击按钮退出小程序的实现方法
Apr 26 Javascript
详解elementui之el-image-viewer(图片查看器)
Aug 30 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学习笔记(二):变量详解
2015/04/17 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
PHP安装扩展mcrypt以及相关依赖项深入讲解
2021/03/04 PHP
ASP小贴士/ASP Tips javascript tips可以当桌面
2009/12/10 Javascript
23个Javascript弹出窗口特效整理
2011/02/25 Javascript
js使用eval解析json实例与注意事项分享
2014/01/18 Javascript
JS和函数式语言的三特性
2014/03/05 Javascript
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
js鼠标点击图片切换效果实现代码
2015/11/19 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
Javascript 6里的4个新语法
2016/08/25 Javascript
解决Vue页面固定滚动位置的处理办法
2017/07/13 Javascript
react高阶组件经典应用之权限控制详解
2017/09/07 Javascript
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
javascript字体颜色控件的开发 JS实现字体控制
2017/11/27 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
详解nodejs http请求相关总结
2019/03/31 NodeJs
小试小程序云开发(小结)
2019/06/06 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
javascript 高级语法之继承的基本使用方法示例
2019/11/11 Javascript
[01:51]2018年度CS GO最具人气外援-完美盛典
2018/12/16 DOTA
Python 文件和输入输出小结
2013/10/09 Python
Django查找网站项目根目录和对正则表达式的支持
2015/07/15 Python
Python二维码生成识别实例详解
2019/07/16 Python
基于Tensorflow高阶读写教程
2020/02/10 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
jupyter notebook 使用过程中python莫名崩溃的原因及解决方式
2020/04/10 Python
工程项目建议书范文
2014/03/12 职场文书
学生评语大全
2014/04/18 职场文书
应届生找工作求职信
2014/06/24 职场文书
领导干部作风建设工作总结
2014/10/23 职场文书
公司董事任命书
2015/09/21 职场文书
TypeScript 内置高级类型编程示例
2022/09/23 Javascript