如何实现一个判断URL合法性性的程序?

发布于 2022-08-25 00:56:24 字数 46 浏览 14 评论 0

对于给定的字符串,如何实现一个程序判断其是不是一个合法的URL,会有哪些陷阱?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伴随着你 2022-09-01 00:56:24

解决这个,先判断URL的形式:

1、如何判断开始

https://xxxxx
http://xxxxx
ftp://ssss
url://xxxxx
chrome://xxxxx
[各种软件的名字缩写]://xxxxx 例如 chrome pplive 迅雷 等等
如何判断各种软件名字缩写?
1、枚举【肯定写不完】
2、找共性:这类协议头肯定没有:.<>
3、找共性:这类协议头肯定是字符和数字的组合

如何判断结束
1、空格是不是URL的结束?【空格不能】

好了 问题就好办了
另外 有个问题 就是全中文是不是协议开始?
目前来说 显然不是,但是结尾有可能,因为有 .中国 这样的蛋疼域名开卖了【你会使用这种全中文的URL么?反正我是不会的。】
所以 要排除://前的各种非英文组合。

url1='http://www.baidu.com/s?tn=baiduhome_pg&ie=utf-8&bs=%E5%8D%95+%E7%8B%AC&f=8&rsv_bp=1&rsv_spt=1&wd=++%E5%AF%B9%E4%BA%8E%E7%BB%99%E5%AE%9A%E7%9A%84%E5%AD%97%E7%AC%A6%E4%B8%B2%EF%BC%8C%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E4%B8%80%E4%B8%AA%E7%A8%8B%E5%BA%8F%E5%88%A4%E6%96%AD%E5%85%B6%E6%98%AF%E4%B8%8D%E6%98%AF%E4%B8%80%E4%B8%AA%E5%90%88%E6%B3%95%E7%9A%84URL%EF%BC%8C%E4%BC%9A%E6%9C%89%E5%93%AA%E4%BA%9B%E9%99%B7%E9%98%B1%EF%BC%9F&rsv_n=2&rsv_sug3=1&rsv_sug4=19&inputT=539';
//我们那个百度的搜索URL做测试 搜索引擎的URL最变态了

url2='你妹的这肯定不是url了把~~对吧~~虽然有//:';
reg=/^([a-zA-Z]*):\/\/([^ ]*)$/;


if(reg.test(url1)){
    alert('yes')
}else{
    alert('no')
};


if(reg.test(url2)){
    alert('yes')
}else{
    alert('no')
};
小梨窩很甜 2022-09-01 00:56:24

可以使用正则表达式来解析.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文