JavaScript验证URL地址的正则

js验证URL经常会在项目中用到,突然看到一个比较全面的验证函数,验证的情况包括IP,域名(domain),ftp,二级域名,域名中的文件,域名加上端口,FTP用户名等等信息,虽然还没来得及做测试,但是先收藏了。感谢原作者,虽然我并不知道原作者到底是谁。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function IsURL(str_url){
	var strRegex = "^((https|http|ftp|rtsp|mms)?://)"
	+ "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" //ftp的user@
	+ "(([0-9]{1,3}\.){3}[0-9]{1,3}" // IP形式的URL- 199.194.52.184
	+ "|" // 允许IP和DOMAIN(域名)
	+ "([0-9a-z_!~*'()-]+\.)*" // 域名- www.
	+ "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\." // 二级域名
	+ "[a-z]{2,6})" // first level domain- .com or .museum
	+ "(:[0-9]{1,4})?" // 端口- :80
	+ "((/?)|" // a slash isn't required if there is no file name
	+ "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$";
	var re=new RegExp(strRegex);
	//re.test()
	if (re.test(str_url)){
		return true;
	}else{
		return false;
	}
}
您可以任意转载本文,但转载时请以超链接形式标明文章原始出处和作者信息及版权声明
posted @ 2010-06-29 10:54  gllg  阅读(530)  评论(0编辑  收藏  举报