JS認証URL関数正則

1413 ワード

JS認証URL関数を共有します.
このurlの正規表現で判断するJavaScript!比較的全面的です.その検証の状況はIP、ドメイン名(domain)、ftp、二級ドメイン名、ドメイン名の中のファイル、ドメイン名にポートを追加します.ユーザー名などの情報は、作者もネットで探しているようです.プロジェクトコードから引き出されたのは、私が見た最強の全面的なurl検証方式です.猛すぎて、ここに貼って皆さんと共有します.URLの検証は本当に頻繁です.
コード1:
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); 
} 
} 
コード二:
function CheckUrl(str) { 
var RegUrl = new RegExp(); 
RegUrl.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\\.[A-Za-z0-9-_%&\?\/.=]+$");//jihua.cnblogs.com 
if (!RegUrl.test(str)) { 
return false; 
} 
return true; 
}