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

如何通过正则表达式修改URL中的语言标识(附示例)

正确实现语言切换URL替换功能

原代码的问题

  • 正则表达式未转义斜杠://(?:en|sc)// 里的斜杠未用反斜杠转义,会直接引发语法错误,正则中的斜杠必须转义才能被正确识别
  • location.replace 调用逻辑错误:该方法第一个参数需为正则表达式对象,且原正则的匹配范围会错误覆盖URL开头到语言标识的全部内容,无法精准替换目标片段

正确实现代码

$('#tc').on('click', function() {
    // 精准匹配URL中的/en/或/sc/片段
    const langRegex = /\/(en|sc)\//;
    if (location.href.match(langRegex)) {
        // 替换为/tc/并执行跳转
        const newUrl = location.href.replace(langRegex, '/tc/');
        location.replace(newUrl);
    }
});

代码说明

  • 正则 /\/(en|sc)\// 专门匹配URL内的 /en/ 或 /sc/ 部分,避免误匹配其他包含en/sc的字符串
  • 先校验当前URL是否符合替换条件,再生成新URL
  • 使用location.replace跳转不会在浏览器历史中保留原页面记录,若需要保留历史,可替换为location.href = newUrl

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 01:03:19