简单谈谈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、正则表达式的基本案例

①验证邮政编码

简单谈谈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])$/;

来源:http://www.cnblogs.com/wuhao752718372/archive/2017/09/10/7501480.html

标签:js,正则表达式
0
投稿

猜你喜欢

  • Python实现求解最大公约数的五种方法总结

    2023-07-02 20:34:46
  • vue 路由懒加载详情

    2024-04-28 09:31:25
  • 如何把外网python虚拟环境迁移到内网

    2021-12-28 14:08:13
  • Python写的Socks5协议代理服务器

    2022-03-16 21:22:44
  • python优雅实现代码与敏感信息分离的方法

    2022-05-07 18:21:14
  • PHP日志LOG类定义与用法示例

    2023-09-10 20:02:56
  • go-micro微服务domain层开发示例详解

    2024-04-26 17:25:04
  • 一文教你如何快速学会Go的struct数据类型

    2024-02-14 22:58:44
  • Sysbench多线程性能测试工具

    2024-01-20 14:08:57
  • python实现微信小程序的多种支付方式

    2021-03-26 21:38:58
  • Python ConfigParser模块的使用示例

    2023-12-02 03:35:15
  • Mysql WorkBench安装配置图文教程

    2024-01-20 00:53:14
  • 详解Python中find()方法的使用

    2022-08-25 04:25:53
  • Python中namedtuple 命名元祖的使用

    2023-02-20 15:06:00
  • 使用python+pygame开发消消乐游戏附完整源码

    2021-06-26 03:42:52
  • Django配置跨域并开发测试接口

    2022-03-20 21:29:08
  • python实现密码验证合格程序的思路详解

    2022-12-10 05:07:38
  • vue.js指令v-for使用及索引获取

    2024-04-30 10:46:49
  • Vue用v-for给循环标签自身属性添加属性值的方法

    2024-04-10 10:30:56
  • Oracle学习笔记(四)

    2024-01-28 20:00:57
  • asp之家 网络编程 m.aspxhome.com