javascript如何实现正则表达式_常见匹配模式有哪些


JavaScript正则表达式通过RegExp对象或字面量创建,核心为“模式+标志”,常用标志有g、i、m、u、s;支持test()、match()、replace()、split()等方法;示例包括手机号/^1[3-9]\d{9}$/、邮箱、中文、URL匹配。

JavaScript 中正则表达式通过 RegExp 对象或字面量(如 /pattern/flags)创建,核心在于“模式 + 标志”组合,配合字符串方法(test()match()replace()split() 等)完成匹配与处理。

基础写法与常用标志

正则可写成字面量形式(推荐用于静态模式)或构造函数形式(适合动态拼接):

  • /\d+/g —— 匹配一个或多个数字,全局搜索
  • new RegExp("\\d+", "g") —— 动态创建,注意反斜杠需双写

常用标志(flags):g(全局)、i(忽略大小写)、m(多行模式)、u(支持 Unicode)、s(dotAll,让 . 匹配换行符)。

常见匹配模式示例

以下是最常遇到的几类需求及对应正则写法(均已验证可用):

  • 手机号(国内 11 位,以 1 开头)/^1[3-9]\d{9}$/
  • 邮箱地址/^[^\s@]+@[^\s@]+\.[^\s@]+$/(基础校验,不覆盖所有 RFC 规则)
  • 中文字符/[\u4e00-\u9fa5]/(匹配单个中文)或 /[\u4e00-\u9fa5]+/(连续中文)
  • URL(HTTP/HTTPS)
  • 密码强度(至少 8 位,含大小写字母和数字)^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$(需用 test() 配合)

实用操作方法速查

正则在字符串上的典型用法:

  • str.test(/pattern/) → 返回布尔值,判断是否匹配
  • str.match(/pattern/g) → 返回匹配结果数组(无 g 则返回带 indexgroups 的对象)
  • str.replace(/pattern/, "new") → 替换第一个匹配;加 g 替换全部
  • str.split(/pattern/) → 按匹配内容切分字符串

捕获组用 (),命名捕获组(ES2018+)写法:/(?\d{4})-(?\d{2})/,可通过 result.groups.year 取值。

注意事项与避坑点

实际使用中容易出错的地方:

  • 字面量中反斜杠不用双写(/\d/),但构造函数中字符串需转义("\\d"
  • ^$ 在非 m 模式下只匹配整个字符串首尾,不是每行
  • . 默认不匹配换行符,需要 s 标志才匹配
  • 贪婪匹配(如 .*)可能过度匹配,改用惰性量词(.*?)更可控
  • 敏感信息(如密码、token)不要仅靠前端正则校验,后端必须二次验证


# javascript  # java  # 正则表达式  # 邮箱 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 网络优化76771 】 【 技术知识130152 】 【 IDC云计算60162 】 【 营销推广131313 】 【 AI优化88182 】 【 百度推广37138 】 【 网站推荐60173 】 【 精选阅读31334


相关推荐: 如何在Golang中处理模块包路径变化_Golang包重命名与导入方法  PythonWeb前后端整合项目教程_FastAPIReact完整实例  php打包exe怎么传递参数_命令行参数接收方法【解答】  php增删改查在php8里有什么变化_新特性对curd的影响【指南】  c++ unordered_map怎么用 c++哈希表用法【教程】  如何在Golang中解压文件_Golang compress/gzip解压操作方法  如何在Golang中修改数组元素_通过指针实现原地更新  Win11开始菜单打不开_修复Windows 11点击开始图标无响应【教程】  如何有效拦截拼接式恶意域名的垃圾信息  Linux如何挂载新硬盘_Linux磁盘分区格式化与开机自动挂载【指南】  Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件  Win11怎么开启远程桌面连接_Windows11系统属性远程设置  Go 中 defer 在 goroutine 内部不生效的原因与执行时机详解  php嵌入式需要什么环境_搭建php+linux嵌入式开发环境【详解】  MAC怎么设置程序窗口永远最前_MAC窗口置顶插件安装与快捷设置【方法】  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  Win11怎么设置快速访问主页_Windows11资源管理器文件夹选项  Win11怎么看电池循环次数_Win11笔记本电池寿命检测【命令】  Win11怎么设置任务栏对齐方式_Windows11个性化任务栏行为  如何使用Golang实现容器自动化运维_Golang Docker运维管理方法  Python装饰器设计思路_功能增强机制说明【指导】  Python日志系统设计与实现_高可观测性架构实战  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Win11用户账户控制怎么关_Win11关闭UAC弹窗提示【设置】  Windows10电脑怎么设置文件权限_Win10安全选项卡所有者修改  Win11如何设置系统语言_Win11系统语言切换教程【攻略】  作用域操作符会影响性能吗_php静态调用性能分析【教程】  Win11怎么设置单手模式_Win11触控键盘布局调整教程【技巧】  如何在 Python 测试中动态配置 @backoff 装饰器的重试次数  如何在Golang中处理URL参数_Golang URL参数解析与路由映射方法  Win11怎么更改任务栏颜色_Windows11个性化重音色设置  Win11怎么关闭任务栏小组件_Windows11隐藏任务栏天气图标  Win11怎么设置麦克风权限_允许应用访问Win11麦克风【详解】  Win11怎么查看已连接wifi密码 Win11查已连wifi密码步骤【教程】  VSC怎么配置PHP的Xdebug_远程调试设置步骤【详解】  Python数据挖掘进阶教程_分类回归与聚类案例解析  php订单日志权限怎么设_php订单日志文件权限设置技巧【技巧】  如何自定义Windows终端的默认配置文件?(PowerShell/CMD)  Win11怎么关闭内容自适应亮度_Windows11显示设置CABC关闭  Windows10系统怎么查看显卡驱动_Win10设备管理器驱动更新  windows如何修改文件默认打开方式_windows设置程序关联教程  Win10如何备份注册表_Win10注册表备份步骤【攻略】  Win11怎么更改电脑密码_Windows 11修改本地账户密码【步骤】  Win10系统更新错误0x80240034怎么办 Win10更新错误解决法【方法】  PowerShell怎么创建复杂的XML结构  php订单日志怎么按状态筛选_php筛选不同状态订单日志教程【教程】  本地php环境出现502错误_nginx或apache502badgateway解决技巧【解答】  如何开启Windows的远程服务器管理工具(RSAT)?(管理服务器)  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  如何在Golang中处理JSON字段缺失_Golangjson解析字段校验方法 

 2025-12-25

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

致胜网络推广营销网


致胜网络推广营销网

致胜网络推广营销网专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 915688610

 17370845950

 915688610@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.