javascript - 正则表达式无效 : nothing to repeat Safari Console Error

标签 javascript jquery

所以我有一个在其他浏览器上运行良好的代码,但在 iPhone 和 Safari 浏览器上不起作用。当我调试时,它显示以下代码“无效的正则表达式:没有可重复的内容”。

  function getURLParameter(a) {
    a = (new RegExp("[?|&]" + a + "=([^&;]+?)(&|#|;|$)")).exec(location.search);
    if (null == a) return null;
    a = a[1];
    a = a.replace(/+/g, "%20");
    return decodeURIComponent(a)
}

如果您能提供任何帮助,我们将不胜感激。

最佳答案

你的问题来自于a = a.replace(/+/g, "%20");+表示重复一个字符一次或多次,但它前面没有字符,如果你想用“%20”替换“+”,你可以简单地调用 a.replace("+", "%20") 或正则表达式版本 a.replace(/\+/g, "%20")

抱歉,a.replace("+", "%20") 只替换第一个“+”,所以你需要 a.replace(/\+/g, "%20") 将所有“+”替换为“%20”

关于javascript - 正则表达式无效 : nothing to repeat Safari Console Error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58296429/

相关文章:

javascript - 如何使用 selenium 和 PhantomJS 从动态网站中提取值

javascript - 添加变量而不是用 jquery 每个连接

javascript - 将 jquery 对象转换为函数内的常规 js

javascript - 如何使用 Jquery 或 Javascript 更改 .CSS 文件?

javascript - 在 redux-observable 中监听多个 Action

javascript - jQuery:在特定元素处分割字符串

javascript - 原型(prototype)对象和对象数组

javascript - 计算 "Memory Game' s"分数,根据尝试次数、花费时间和剩余牌数

javascript - Jquery/Js - 获取斜杠之间的当前 url 以获取 Accordion 折叠

jquery - 如何让 JQueryUI 更快地排序到 'revert'?