JavaScript 正则表达式 验证网址
各位大侠:请问   我现在想写一个验证URL的正则表达式子,我看了网上很多例子.一头雾水   下面是网上的写法   ([w-]+.)+[w-]+(/[w-   ./?%&=]*)?   我现在想验证的网站地址格式:   含有http://开头   或者没有它   直接www开头. 
 各位给点意见.   是否可以分块解释一下上面的表达式的意思呢?谢在先!!
------解决方案-------------------- <script language= "javascript ">  
 function IsUrl(str) 
 { 
 	var regUrl = /(http\:\/\/)?([\w.]+)(\/[\w- \.\/\?%&=]*)?/; 
 	var result = str.match(regUrl); 
 	if(result!=null) {alert( "Yes ")}  
 	else {alert( "No! ")} 
 } 
  </script>    
  <FORM name= "bao ">  
  <INPUT TYPE= "text " NAME= "txt ">  
  <INPUT TYPE=BUTTON value= "TestURL " onClick= "IsUrl(document.bao.txt.value) ">  
  </FORM>
------解决方案-------------------- <script language= "javascript ">  
 function IsUrl(str) 
 { 
 	var regUrl = /(http\:\/\/)?([\w.]+)(\/[\w- \.\/\?%&=]*)?/gi; 
 	var result = str.match(regUrl); 
 	if(result!=null) {alert( "Yes ")}  
 	else {alert( "No! ")} 
 } 
  </script>    
  <FORM name= "bao ">  
  <INPUT TYPE= "text " NAME= "txt ">  
  <INPUT TYPE=BUTTON value= "TestURL " onClick= "IsUrl(document.bao.txt.value) ">  
  </FORM>  
 (http\:\/\/)?代表匹配http://0或1次, 
 ([\w.]+)匹配www.sian.com 
 \/[\w- \.\/\?%&=]*)?匹配后面子串0或1次