简单谈谈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 相关文章推荐
摘自百度的图片轮换效果代码
Nov 19 Javascript
url 特殊字符 传递参数解决方法
Jan 01 Javascript
JQuery 将元素显示在屏幕的中央的代码
Feb 27 Javascript
JavaScript中使用typeof运算符需要注意的几个坑
Nov 08 Javascript
如何使用jquery修改css中带有!important的样式属性
Apr 28 Javascript
js前端面试题及答案整理(一)
Aug 26 Javascript
分分钟学会vue中vuex的应用(入门教程)
Sep 14 Javascript
Babel 入门教程学习笔记
Jun 13 Javascript
从vue源码解析Vue.set()和this.$set()
Aug 30 Javascript
JS实现计算小于非负数n的素数的数量算法示例
Feb 26 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
Sep 20 Javascript
利用Vue实现简易播放器的完整代码
Dec 30 Vue.js
详解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自动重命名文件实现方法
2014/11/04 PHP
yii2项目实战之restful api授权验证详解
2017/05/20 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP字典树(Trie树)定义与实现方法示例
2017/10/09 PHP
PHP实现带进度条的Ajax文件上传功能示例
2019/07/02 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
nodejs实现的一个简单聊天室功能分享
2014/12/06 NodeJs
js实现对table动态添加、删除和更新的方法
2015/02/10 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
使用vue-router设置每个页面的title方法
2018/02/11 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
解决angularjs中同步执行http请求的方法
2018/08/13 Javascript
Angular2中监听数据更新的方法
2018/08/31 Javascript
Node.js之删除文件夹(含递归删除)代码实例
2019/09/09 Javascript
详解Webpack抽离第三方类库以及common解决方案
2020/03/30 Javascript
Win8.1下安装Python3.6提示0x80240017错误的解决方法
2018/07/31 Python
基于Python解密仿射密码
2019/10/21 Python
Python 过滤错误log并导出的实例
2019/12/26 Python
tensorflow对图像进行拼接的例子
2020/02/05 Python
如何理解Python中包的引入
2020/05/29 Python
serialVersionUID具有什么样的特征
2014/02/20 面试题
2014新年寄语
2014/01/20 职场文书
关于运动会的稿件
2014/02/02 职场文书
医学生临床实习自我评价
2014/03/07 职场文书
2014年便民服务中心工作总结
2014/12/20 职场文书
北京天坛导游词
2015/02/12 职场文书
2015年结对帮扶工作总结
2015/05/04 职场文书
升学宴来宾致辞
2015/07/27 职场文书
食品安全主题班会
2015/08/13 职场文书
职工的安全责任书范文!
2019/07/02 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python
pytorch fine-tune 预训练的模型操作
2021/06/03 Python
JavaScript选择器函数querySelector和querySelectorAll
2021/11/27 Javascript