gpt4 book ai didi

javascript - 使用正则表达式或 Javascript 从 URL 获取文件名

转载 作者:数据小太阳 更新时间:2023-10-29 04:55:04 24 4
gpt4 key购买 nike

我需要从 URL 地址获取文件名。

这里是标准:

以下场景需要返回空字符串"":

http://somedomain.com
http://www.somedomain.com
http://somedomain.com/
http://www.somedomain.com/

并在以下场景返回filename.php:

http://somedomain.com/filename.php?query
http://www.somedomain.com/filename.php?query
http://somedomain.com/filename.php#query
http://www.somedomain.com/filename.php#query

我找到了这个正则表达式

[\w_.-]*?(?=[\?\#])|[\w_.-]*$ 来自 here

但是它在输入 http://somedomain.com 时返回 somedomain.com。我不知道如何修改它以在末尾没有 / 时忽略该域。

如果正则表达式很难处理,我也会喜欢 JavaScript 解决方案。

提前致谢。

最佳答案

假设您正在浏览器中编写脚本,已经有一个功能齐全的 URL 解析器供您利用,而不必编写不可靠的不完整正则表达式。使用 HTMLAnchorElement 读取类似location 的属性hostpathnamesearchhash等:

var a= document.createElement('a');
a.href= 'http://somedomain.com/dirname/filename.php?query';
var filename= a.pathname.split('/').pop(); // filename.php

关于javascript - 使用正则表达式或 Javascript 从 URL 获取文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4549654/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com