解决这个,先判断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')
};