javascript - 从 URL 替换正斜杠后的所有内容

标签 javascript url

我想使用 JavaScript 从 href 中删除所有以正斜杠开头的内容。

此代码段从 href 中删除以散列开头的所有内容:

var url = this.href.replace(/#.*/,'');

如何修改它以删除以正斜杠开头的所有内容?

最佳答案

也许你想要像 /(\/\/[^\/]+)?\/.*/ 这样的东西,然后保留第一个捕获,如果有的话..

'http://stackoverflow.com/questions/16884753/replace-from-url-etc'
    .replace(/(\/\/[^\/]+)?\/.*/, '$1');
// "http://stackoverflow.com"
'stackoverflow.com/questions/16884753/replace-from-url-etc'
    .replace(/(\/\/[^\/]+)?\/.*/, '$1');
// "stackoverflow.com"

(pattern)? 表示一个可选的捕获组
\/\/表示匹配//
[^\/]+表示匹配一个或多个连续的非/
\/ 表示现在匹配 /
.* 几乎匹配所有其他内容
$1 表示捕获组 1,如果为空,将给出一个空字符串。

在此 RegExp 中,捕获组一是

"http://stackoverflow.com/questions/"
      ^-------$1--------^

关于javascript - 从 URL 替换正斜杠后的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16884753/

相关文章:

JavaScript 对象访问;输出正常,选择不起作用

url - '&feature=related' 在 YouTube 网址中是什么意思?

html - 固定页眉与页内 anchor 重叠

url - 建立一个指向 Colaboratory 笔记本的可运行链接

javascript - 将 div 从其位置动画到全屏

javascript - 为什么 Array.prototype.every 在空数组上返回 true?

javascript - 将 URL 参数从一个页面传递到另一页面

php - Laravel 是 "listening"到 index.php URL 中任意位置的字符串

javascript - 使用 Node.js REST API 设置 Mocha/ChaiHttp 单元测试时遇到问题

javascript - 为什么此表单验证空输入值失败?