登录
首页 >  文章 >  前端

JavaScript正则表达式常用匹配方式有哪些?

时间:2026-04-24 21:00:32 305浏览 收藏

JavaScript正则表达式是高效处理字符串匹配、提取与替换的核心工具,本文系统梳理了其基础写法(字面量与构造函数)、关键标志(g/i/m)及三大高频实战场景:兼顾可用性与安全性的邮箱基础校验、严格锁定首尾的中国大陆手机号精准匹配(/^1[3-9]\d{9}$/),以及从混合文本中可靠提取订单号、2–4位中文姓名和带符号金额的实用模式,并强调“精准优于复杂”——明确目标、合理限定边界、充分测试边界值,才是写出稳健正则的真正要义。

怎样使用javascript正则表达式_常见匹配模式有哪些?

JavaScript 正则表达式是处理字符串匹配、提取和替换的高效工具。核心在于用简洁的模式描述“想要找什么”,再配合 RegExp 对象或字符串方法(如 test()match()replace())来执行操作。

基础写法与常用标志

正则表达式可写作字面量形式 /pattern/flags,也可用构造函数 new RegExp('pattern', 'flags')(动态生成时更灵活)。常用标志有:

  • g:全局匹配(不加则只匹配第一个)
  • i:忽略大小写
  • m:多行模式(让 ^$ 匹配每行起止)

邮箱地址匹配(实用但需注意边界)

简单验证可用:/^[^\s@]+@[^\s@]+\.[^\s@]+$/。它要求:开头非空格/@字符,接着一个 @,再是非空格/@字符,一个点,最后是非空格/@字符。

注意:完整邮箱规范极复杂(RFC 5322),前端只需做基础校验,后端必须二次验证。避免用过于宽松的 /.+@.+\..+/,它会误判 a@b.c.d @ . 这类无效输入。

手机号匹配(以中国大陆为例)

常见格式是 11 位数字,以 1 开头,第二位常为 3–9:/^1[3-9]\d{9}$/

说明:

  • ^$ 锁定首尾,防止 “abc13812345678def” 被误认为合法
  • [3-9] 排除已停用号段(如 11、12)
  • \d{9} 表示后面紧跟 9 个数字

若需兼容带分隔符的输入(如 138-1234-5678),先用 .replace(/[-\s]/g, '') 清理再校验。

中文、数字、字母混合提取

比如从字符串 "订单号:ORD2024001,用户:张三,金额:¥99.5" 中提取关键信息:

  • 提取订单号:str.match(/ORD\d+/)["ORD2024001"]
  • 提取中文姓名:str.match(/[\u4e00-\u9fa5]{2,4}/)(匹配 2–4 个常用汉字)
  • 提取金额数字:str.match(/¥(\d+\.\d+)/),括号捕获小数部分,match() 返回数组,[1] 即数值

提示[\u4e00-\u9fa5] 是常用汉字范围,不能覆盖生僻字或扩展区;如需更全,可加 \u3400-\u4dbf(扩展 A)等,但多数场景够用。

基本上就这些。正则不是越长越强,而是越准越稳——明确目标、限制边界、测试边界值,比套用“万能公式”更重要。

今天带大家了解了的相关知识,希望对你有所帮助;关于文章的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

资料下载
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>