Products
GG网络技术分享 2025-03-18 16:14 13
如题 例如判断 网站链接格式是个正常的链接 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;
}
}
你判断请求地址后面的参数是完全没意义的,对于一个参数可为空的请求来说下面的三种链接都是可以正常访问的
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]:\\/\\/)(.)+$/
const regex = /^https?://([a-z0-9_-]+.)+([a-z0-9_-]+)/i;
/^https?://([\\w-]+.)+([\\w-]+)/i;
我使用这个正则,只要判断开头是否符合,没有判断参数,不过应该有漏洞,注意你自己的表达式的 '.' 需要加转义字符 ''
正则表达式,一直都是我的弱项,虽然开发中大部分情况下用不到正则,但是每次用到都得百度,一直想好好的整理学习下。下面整理了正则的常用语法,特别详细,写给自己,也写给有需要的你~
正则表达式使用简单的字符串来描述、匹配一系列匹配某个句法规则的字符串,虽然表达式繁琐,但很强大,掌握正则匹配,不仅可以提升开发效率,用好的话,还会拥有一丢丢成就感。举几个例子:
实现千分位分割
Demand feedback