js正则表达式判断 是否为网站链接地址

如题 例如判断 网站链接格式是个正常的链接 https://weibo.com/ajaxlogin.php?framelogin=1&callback=parent

我用的这个正则表达式,判断简单的网站链接,例如:http://www.baidu.com是没问题的,但是判断上面那种带参数的就不行

代码:
if($("#url").val() != ""){
var url=document.getElementById("url").value;
var reg=/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+).)+([A-Za-z0-9-~\/])+$/;
if(!reg.test(url)){
alert("这网址不是以http://或https://开头,或者不是网址!");
return;
}
}

3个回答

你判断请求地址后面的参数是完全没意义的,对于一个参数可为空的请求来说下面的三种链接都是可以正常访问的
https://tieba.baidu.com/f?ie=utf-8&fr=search&kw=你好
https://tieba.baidu.com/f?ie=utf-8&fr=search&kw=
https://tieba.baidu.com/f?ie=utf-8&fr=search&kw

这三个地址只是举例,为百度贴吧的查询入口,kw为查询条件。你会发现三个请求都可访问。你可以写个条件查询接口试试,就知道了。所以对于网址判断你只需要判断请求头就好了

https{0,1)://{s}

去掉内容 和 后面参数判断就好了啊

/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(.)+$/
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐