2013-01-04 189 views
0
<asp:RegularExpressionValidator ID="revWebsite" runat="server" ForeColor="Red" 
ControlToValidate="txtWebsite" ErrorMessage="Invalid Website (General Details)" 
ValidationExpression="(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?">* 
</asp:RegularExpressionValidator> 

爲什麼不工作? :asp.net無法正常工作的網站/網址驗證

www.website.com

www.domain.website.com

http://website.com

https://website.com

+0

這裏沒有問題! –

+0

如何.......................... –

+0

你想檢查網站的存在嗎? – Arshad

回答

1

建議:如果您想驗證一個網站,你可以檢查它的存在通過它的思想。

您可以使用custom validator。對於看下面的例子:

在.aspx頁面

<div> 
     <asp:TextBox runat="server" ID="txtURL" ValidationGroup="vlg" /> 
     <asp:RequiredFieldValidator ID="rqfvURL" ErrorMessage="Please Enter" ControlToValidate="txtURL" ValidationGroup="vlg" 
      runat="server" /> 
     <asp:CustomValidator ID="cstmValURL" ErrorMessage="Please enter valid site" 
      ControlToValidate="txtURL" runat="server" ValidationGroup="vlg" 
      onservervalidate="cstmValURL_ServerValidate" /> 
     <asp:Button Text="submit" ID="btn" runat="server" onclick="btn_Click" ValidationGroup="vlg" /> 
    </ div> 
中的.cs頁

protected void cstmValURL_ServerValidate(object source, ServerValidateEventArgs args) 
     { 
      if (TestSite()) 
      { 
       args.IsValid = true; 
      } 
      else 
      { 
       args.IsValid = false; 
      } 
     } 

     private bool TestSite() 
     {   
      Ping objPing = new Ping(); 
      bool blnResult = false; 
      try 
      { 
       PingReply pngReply = objPing.Send(txtURL.Text.Trim(), 3000); 
       if (pngReply.Status == IPStatus.Success) 
        return blnResult= true; 
      } 
      catch 
      { 
       return blnResult=false; 
      } 
      return blnResult; 
     } 

附:這只是一個建議。

+0

我想用RegularExpressionValidator –