简单谈谈JS中的正则表达式
作者:榆木疙瘩ii 发布时间:2023-07-22 00:50:22
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、正则表达式的基本案例
①验证邮政编码
结果为:
②验证手机号
结果为:
③年龄在0-120岁之间
④域名: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)
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])$/;
来源:http://www.cnblogs.com/wuhao752718372/archive/2017/09/10/7501480.html


猜你喜欢
- Rel-License 是微格式的开发标准之一,简单的说就是通过给引用标签(通常是链接)加上REL属性,来标明所引用链接/数据与文章的关系。
- 一、数字类型。数字类型按照我的分类方法分为三类:整数类、小数类和数字类。 我所谓的“数字类”,就是指DECIMAL和NUMERIC,它们是同
- 一 MySQL WorkbenchMySQL Workbench提供DBAs和developers一个集成工具环境:1)数据库设计和建模2)
- 在我们使用一些数据的过程中,我们想要打乱数组内数据的顺序但不改变数据本身,可以通过改变索引值来实现,也就是将索引值重新随机排列,然后生成新的
- 这篇文章主要介绍了python3获取文件中url内容并下载代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价
- 我正在用 MySQL 客户端的时候,突然想到如果可以给查询结果添加排名该多好啊,然后就找到了一个简单的解决办法。下面是一个示例表
- 最近开始实习,工作技术栈主要Python和Golang,目前的任务把Python模块重构为GO模块,然后出现了一个问题,就是要将一个结构体按
- 在Python自带的编辑器IDLE中或者Python shell中不能使用cd命令,那么跳到目标路径呢。方法是使用os包下的相关函数实现路径
- 从Keras转换成PB模型请注意,如果直接使用Keras2ONNX进行模型转换大概率会出现报错,这里笔者曾经进行过不同的尝试,最后都失败了。
- php5.2新增的json功能是非常受欢迎的,但是经过测试发现, json_encode对中文的处理是有问题的, 1.不能处理GB编码,所有
- 简单介绍HTTP是超文本传输协议,其定义了客户端与服务器端之间文本传输的规范。HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端
- 效果如下所示:# -*- coding: utf-8 -*-import turtle# 绘制太极图函数def draw_TJT(R):&n
- 需求在自动化测试场景里, 有时需要在代码里获取远程服务器的某些数据, 或执行一些查询命令,如获取Linux系统版本号 \ 获取CPU及内存的
- 看起来现在经常用到这样的效果来提高用户体验,所以就没事写了一个输入框提示列表的效果使用宽屏的朋友麻烦帮忙测试下,列表的位置有没有错位。代码可
- 目录1.数据概览分析1.1 数据概览1.2 数据分析2. 项目总体思路2.1 数据读取2.2 模型预处理(1)数据离群点处理(2)数据归一化
- 应用场景这段代码可以用于修改Excel文件的元数据,例如作者、主题、描述等,通过使用Python和Openpyxl模块,以及wxPython
- 一、游戏玩法介绍:24点游戏是儿时玩的主要益智类游戏之一,玩法为:从一副扑克中抽取4张牌,对4张牌使用加减乘除中的任何方法,使计算结果为24
- 1 re.search() 的作用:re.search会匹配整个字符串,并返回第一个成功的匹配。如果匹配失败,则返回None 从源
- SQL数据库连接超时时间已到问题1:System.InvalidOperationException: 超时时间已到。超时时间已到,但是尚未
- 最近在使用echarts做报表需求,二次生成报表时数据合并,无法正确显示。第一次渲染:第二次渲染:可以看到这里的echarts项的serie