You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中如何在正则表达式内添加单引号(')的匹配规则?

地址字段正则单引号匹配修复方案

问题原因

现有校验规则无法匹配单引号,由三个问题导致:

  • 正则字符串用单引号包裹,直接写入单引号会提前闭合字符串,触发语法错误
  • 原代码中与号写为HTML转义实体&,在TS/JS运行环境下无法识别为普通&字符
  • 字符组内连字符未放在首尾位置,存在被解析为范围匹配符的潜在风险

修正代码

优先推荐用双引号包裹正则字符串,无需额外转义内部单引号,同时将连字符放在字符组末尾消除歧义,替换原有规则即可:

address: ['', [Validators.pattern("^[A-Za-z0-9 &@/#.'-]+$")]],

如果要保留单引号包裹正则的写法,对内部单引号加反斜杠转义即可:

address: ['', [Validators.pattern('^[A-Za-z0-9 &@/#.\'-]+$')]],

覆盖字符说明

修正后的正则可完整匹配预期所有合法字符:

  • 大小写英文字母A-Z、a-z
  • 0-9数字
  • 特殊字符:点号.、单引号'、连字符-、井号#、@、&、斜杠/、半角空格

补充说明:如果是在Angular HTML模板中编写表单校验规则,需要将&转义为&、单引号转义为'使用。

内容的提问来源于stack exchange,提问作者Ayushi Gajpal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 02:54:18