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

使用JavaScript的replaceAll()报错:Uncaught TypeError,求解决方案

解决"Uncaught TypeError: variable2.replaceAll is not a function"报错

问题原因

replaceAll是ES2021(ES12)新增的字符串方法,如果你的运行环境(比如旧版Chrome/Firefox、Node.js < 15.0.0)不支持该语法,就会触发这个错误。另外,即便环境支持replaceAll,当使用正则表达式作为第一个参数时,必须确保正则带有g全局标志(你的代码里已经满足这一点,核心问题还是环境兼容性)。

解决方案

方案1:改用replace方法(推荐)

当正则表达式带有g全局标志时,String.prototype.replace会自动替换所有匹配项,和replaceAll效果完全一致,且兼容性覆盖绝大多数环境:

variable2 = "blah,blah,blah12345";
variable1 = variable2.replace(/\D/g, '');
console.log(variable1); // 输出:"12345"

方案2:升级环境支持ES2021+

如果坚持要用replaceAll,需要将运行环境升级到支持ES2021的版本:

  • 浏览器:Chrome 90+、Firefox 85+、Safari 14.1+
  • Node.js:15.0.0+
    升级后你的原有代码即可正常运行,因为你的正则已带有g标志,符合replaceAll的参数要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 02:57:03