.net中,aspx文件是这样写的:
<asp:RegularExpressionValidator id="URLValid" runat="server" ControlToValidate="URLBox" Display="None"
 ValidationExpression="http://([\w-]+\.)+[\w-]+(/[\w- ./?%&amp;=]*)?"></asp:RegularExpressionValidator>现在我要把这里的东西删掉,把url的check搬到JS里.我的JS里是这样写的:
var url = document.getElementById("URL").value;
var urlRegex = "http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?";
var re = new RegExp(urlRegex);
if(re.test(url))
{
 return true;
}
else
{
  alert("wrong!");
  return false;
}这时候会报错,好像是urlRegex写错了....
但我不知道怎么改
各位帮帮忙,谢谢

解决方案 »

  1.   


    var urlRegex ="<(.*)>.*<\/\1>|<(.*) \/>"
      

  2.   

    错...
    是“^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$” 
      

  3.   

    下面的例子演示了全局 RegExp 对象的用法。function matchDemo(){
       var s;
       var re = new RegExp("d(b+)(d)","ig");
       var str = "cdbBdbsbdbdz";
       var arr = re.exec(str);
       s = "$1 contains: " + RegExp.$1 + "\n";
       s += "$2 contains: " + RegExp.$2 + "\n";
       s += "$3 contains: " + RegExp.$3;
       return(s);
    }
      

  4.   


    var urlRegex ="^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$";
      

  5.   


    楼上的,我原来的是,你的是
     http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
    ^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
    为什么([w-]+.)跟我的([\w-]+\.)不一样,少了个\,是有意为之,還是?
    还有(/[\w- ./?%&=]*)?后面加个$是干什么的?
    麻烦各位把aspx里的翻译到js里就行了,不要自己再加东西,谢谢
      

  6.   

    现在我要把这里的东西删掉,把url的check搬到JS里.我的JS里是这样写的: var url = document.getElementById("URL").value;
    //var urlRegex = "http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"; 
    //var re = new RegExp(urlRegex); 
    var re = new RegExp(/http:\/\/([\w-]+\.)+[\w-]+(/[\w- \.\/\?%&=]*)?/); 
    if(re.test(url)) 

    return true; 

    else 

      alert("wrong!"); 
      return false; 

     
      

  7.   

    var re = new RegExp(/http:\/\/([\w-]+\.)+[\w-]+(/[\w- \.\/\?%&=]*)?/);
      

  8.   


    <script type="text/javascript">
    <!--
    var url = "http://www.csdn.net";
    var re = /http:\/\/([\w-]+\.)+[\w-]+(\/[-\w \.\/\?%&=]*)?/i;
    if(re.test(url)) 

    alert("true")

    else 

      alert("wrong!"); 
      
    } //-->
    </script>
      

  9.   

    楼主可以去找一份 Script56.chm 文档看看.有详细的正则说明!
      

  10.   

    不太清楚你匹配的要求,给一个网址匹配例子参考:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>无标题文档</title>
    </head>
    <style type="text/css"> 
    body,td,div,input,fieldset,legend{font-family:Verdana; font-size:12px; color:#333333; font-weight:normal;}
    a:link,a:visited{font-family:Verdana; font-size:12px; color:#330099; font-weight:normal; }
    a:hover,a:active{font-family:Verdana; font-size:12px; color:#FF6600; font-weight:normal; }
    span{font-family:Verdana; font-size:12px; color:red; font-weight:normal; padding-left:5px; margin:0px 10px;}
    </style>
    <script language="javascript" type="text/javascript">
    function doCHK()
    {
    var reg=RegExp(/(http:\/\/www\.)(\w*)\.com\/(.*$)/ig);  //根据你的需要修改....
    var url; //="http://www.xxx.com/123456";
    url=document.getElementById("content1").value;
    if(reg.test(url))
    alert("匹配");
    else
    alert("不匹配");
    }
    </script>
    <body>
    <p>
    一个正则匹配网址问题<br>
    <input name="content1" type="text" id="content1" value="http://www.xxx.com/123456" size="60">
    <input name="BTN01" value="Test" type="button" onClick="javascript:doCHK();">
    <br>
    <br>
    匹配模型为: http://www.<font color="#FF0000">xxx</font>.com/<font color="#FF0000">123xyz</font>
    红色部分的内容,前一个匹配为0-9,a-z,A-Z;后一个匹配是任意字符</p>
    </body>
    </html>
      

  11.   

    你用new RegExp的话,必须弄双引号
    一般直接var re=/http:\/\/www\.)(\w*)\.com\/(.*$)/gi;