插件窝 干货文章 JavaScript正则表达式详解:语法、用法与实战案例

JavaScript正则表达式详解:语法、用法与实战案例

JavaScript正则表达式完全指南

一、什么是正则表达式?

正则表达式(Regular Expression)是用于匹配字符串中字符组合的模式,在JavaScript中通过RegExp对象实现,为文本处理提供强大的模式匹配功能。

二、基本语法

1. 创建方式

// 字面量形式
let reg = /pattern/flags;

// 构造函数形式
let reg = new RegExp('pattern', 'flags');

2. 常用修饰符

  • g:全局匹配
  • i:忽略大小写
  • m:多行匹配
  • u:Unicode模式

三、核心元字符

字符 说明
\d 匹配数字
\w 匹配字母数字下划线
\s 匹配空白符
. 匹配除换行外任意字符

四、常用方法

1. test()方法

let reg = /hello/;
reg.test('hello world'); // true

2. exec()方法

let result = /\d+/.exec('abc123');
console.log(result[0]); // "123"

3. 字符串方法

  • match():返回匹配结果数组
  • replace():替换匹配内容
  • search():返回匹配位置
  • split():按模式分割字符串

五、实战应用案例

1. 邮箱验证

function validateEmail(email) {
  return /^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$/.test(email);
}

2. 手机号验证

function validatePhone(phone) {
  return /^1[3-9]\d{9}$/.test(phone);
}

3. HTML标签提取

let html = '
content
'; let tags = html.match(/<\/?\w+>/g);

六、性能优化建议

  1. 避免过度使用.*这样的贪婪匹配
  2. 复杂的正则表达式考虑拆分为多个简单正则
  3. 预编译重用RegExp对象
  4. 使用非捕获组(?:)替代捕获组