javascript - 仅用于相对链接的正则表达式

标签 javascript jquery regex

我正在创建一个 javascript 来检查 DOM 中的链接并更改那些不是绝对链接的链接。不幸的是我没有任何运气......

我只想匹配下面的第一种链接,并添加一个文件夹路径

  1. <a href="somepage.html">link</a>
  2. <a href"http://somesite.net/somepage.html">link</a>

我用过 string.replace(/a.+href="([^http]+)"/, 'path'+$1);没用...

有人可以帮我吗?提前致谢。

最佳答案

如果您为仅使用正则表达式解决问题而编写的正则表达式开始看起来有点矫枉过正,那么它可能就矫枉过正了。有时,与正则表达式结合使用的简单 if 语句可以创造奇迹:

$("a").each(function () {
    if (!/^http:\/\//.test(this.href)) {
        this.href = "http://example.com/folder/" + this.href; // etc.
    }
});

关于javascript - 仅用于相对链接的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4882255/

相关文章:

javascript - 设置 Google Analytics Analytics.js 在页面加载时发送事件的问题

javascript - 如何保持并排图像的纵横比,保持图像相同的高度并在图像之间固定填充?

javascript - JQuery 动态按钮

java - 扫描仪使用分隔符问题

Java 正则表达式 : Match any word from pattern

javascript - 基于 html 的代码编辑器

javascript - Backbone.js 将从服务器检索到的模型添加到集合中

javascript - 使用数组reduce查找max属性问题

javascript - 缩短选择选项列表中的选定选项

regex - 如何使用正则表达式选择捕获组以外的所有内容?