插件窝 干货文章 JS正则表达式用法详解 - 从入门到精通指南

JS正则表达式用法详解 - 从入门到精通指南

JS正则表达式用法详解

正则表达式是JavaScript中强大的文本处理工具,掌握它可以极大提升开发效率。本文将全面介绍JS中正则表达式的使用方法。

一、创建正则表达式

在JS中有两种创建正则表达式的方式:

// 字面量方式
const regex1 = /pattern/flags;

// 构造函数方式
const regex2 = new RegExp('pattern', 'flags');

二、常用正则表达式方法

1. test()方法

测试字符串是否匹配正则表达式:

/hello/.test('hello world'); // true

2. exec()方法

执行正则表达式匹配,返回匹配结果数组:

/d(b+)d/.exec('cdbbdbsbz'); // ["dbbd", "bb"]

3. 字符串方法中使用正则

  • match() - 返回匹配结果
  • replace() - 替换匹配内容
  • search() - 返回匹配位置
  • split() - 按正则分割字符串

三、正则表达式语法

1. 元字符

  • ^ - 匹配开头
  • $ - 匹配结尾
  • . - 匹配任意字符
  • \d - 匹配数字
  • \w - 匹配字母数字下划线

2. 量词

  • * - 0次或多次
  • + - 1次或多次
  • ? - 0次或1次
  • {n} - 恰好n次

3. 字符类

[abc] 匹配a、b或c
[^abc] 匹配非a、b、c的字符
[a-z] 匹配a到z的任意字母

四、常用正则表达式示例

// 邮箱验证
/^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/

// 手机号验证
/^1[3-9]\d{9}$/

// URL验证
/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/

// 身份证号验证
/^[1-9]\d{5}(18|19|20)\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\d|3[01])\d{3}[\dXx]$/

五、正则表达式标志

  • g - 全局匹配
  • i - 忽略大小写
  • m - 多行模式
  • u - Unicode模式
  • y - 粘性匹配

掌握这些正则表达式知识,可以让你在JavaScript开发中游刃有余地处理各种文本匹配和验证需求。