简单谈谈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 相关文章推荐
js左侧三级菜单导航实例代码
Sep 13 Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
Dec 03 Javascript
js点击文本框弹出可选择的checkbox复选框
Feb 03 Javascript
多功能jQuery树插件zTree实现权限列表简单实例
Jul 12 Javascript
Javascript发送AJAX请求实例代码
Aug 21 Javascript
node+experss实现爬取电影天堂爬虫
Nov 20 Javascript
Javascript 高性能之递归,迭代,查表法详解及实例
Jan 08 Javascript
jQuery插件扩展操作入门示例
Jan 16 Javascript
vue单页面在微信下只能分享落地页的解决方案
Apr 15 Javascript
js实现简单的秒表
Jan 16 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加密解密的代码
2007/07/16 PHP
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
php格式化日期和时间格式化示例分享
2014/02/24 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
php防止网站被刷新的方法汇总
2014/12/01 PHP
php使用iconv中文截断问题的解决方法
2015/02/11 PHP
PHP中如何判断exec函数执行成功?
2016/08/04 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
Laravel框架中集成MongoDB和使用详解
2019/10/17 PHP
js传参数受特殊字符影响错误的解决方法
2013/10/21 Javascript
jquery的live使用注意事项
2014/02/18 Javascript
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
Angularjs 滚动加载更多数据
2016/03/17 Javascript
jquery插件Jplayer使用方法简析
2016/04/22 Javascript
微信小程序之滚动视图容器的实现方法
2017/09/26 Javascript
javascript高级模块化require.js的具体使用方法
2017/10/31 Javascript
Angular项目从新建、打包到nginx部署全过程记录
2017/12/09 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
Vue项目路由刷新的实现代码
2019/04/17 Javascript
微信公众平台 发送模板消息(Java接口开发)
2019/04/17 Javascript
javascript使用Blob对象实现的下载文件操作示例
2020/04/18 Javascript
在NodeJs中使用node-schedule增加定时器任务的方法
2020/06/08 NodeJs
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
python内存动态分配过程详解
2019/07/15 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
python导入库的具体方法
2020/06/18 Python
世界上最大的街头服饰网站:Karmaloop
2017/02/04 全球购物
网络编辑岗位职责
2014/03/18 职场文书
安全生产承诺书范文
2014/05/22 职场文书
手机被没收的检讨书
2014/10/04 职场文书
2014年党总支工作总结
2014/12/18 职场文书
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python