<asp:RegularExpressionValidator ID="revWebsite" runat="server" ForeColor="Red"
ControlToValidate="txtWebsite" ErrorMessage="Invalid Website (General Details)"
ValidationExpression="(http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?">*
</asp:RegularExpressionValidator>
为什么不为之工作? :
www.website.com
www.domain.website.com
答案 0 :(得分: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>
<。>页面中的:
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;
}
P.S。这只是一个建议。