找回密码
 立即注册
搜索
0

检查URL是否不是以http:开头,而是以带或不带斜线的字母数字开头[关闭]

lacken 2024-7-29 13:53:12 76 显示全部楼层
[md]这个问题已经被关闭了,因为它需要更多的细节或清晰度。目前不接受答案。

如果你想改进这个问题,请通过编辑这个帖子添加细节并澄清问题。

问题关闭于30分钟前。

我在尝试排除绝对 URL 并只允许包含相对 URL 时遇到了困难。浏览器有一个 <base> 标签,它为页面上所有相对 URL 添加一个基础 URI。它们是如何知道它是相对 URL 的?

我也想做同样的事情。我想为所有相对 URL 添加一个基础 URI。如果我的页面有一个链接到主页或 /home,我想添加基础 URI。如果它是一个完整的 URL,比如 http://www.example.com,我想忽略它。

我需要一个正则表达式来实现这一点,还是只需检查字符串的开头是否以 http 开始?

关于你的问题,通常可以通过检查 URL 是否以 http:// 或 https:// 开头来判断它是否是绝对 URL。如果 URL 以这些模式开始,它很可能是绝对 URL。相对 URL 通常以 / 开头(指向根目录),或者没有指定协议头。

使用正则表达式来检测绝对 URL 可能不够准确,因为 URL 可能有多种形式。一个简单的正则表达式示例,用于检测以 http 开头的字符串,可能是这样的:

regex
/^https?:\/\//
这将匹配以 http:// 或 https:// 开头的字符串。然而,如果你想要更精确地匹配有效的 URL,可能需要一个更复杂的正则表达式。

另外,如果你在编写代码来处理这个问题,很多编程语言提供了 URL 处理库,这些库可以更准确地解析和识别绝对和相对 URL。[/md]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册