如果RegularExpressionValidator控件指定的正则表达式能够验证URL,那么该控件可以验证用户的输入是否为一个URL(或HTTP地址)。效果如图所示。
下面的代码实例RegularExpressionValidator控件revValue验证tbValue控件的内容是否为URL(或HTTP地址)。如果该内容不是URL(或HTTP地址),则验证失败,并显示提示信息“请输入合法的HTTP地址。”。另外,该示例还使用了RequiredFieldValidator验证控件rfValue验证了tbValue控件的内容不能为空。 如果该内容为空,则rfValue控件显示提示信息“输入不能为空!”。
其中,正则表达式http(s)?://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?用来验证输入的内容是否为URL(或HTTP地址)。该表达式的说明如下:
[/w-]能够匹配单词字符和连接符号-;
/.匹配字符.;
[/w-]+/.能够匹配以单词字符和连接符号-组成的字符串开头的、以字符.结尾的字符串;
([/w-]+/.)+能够匹配1个或多个以单词字符和连接符号-组成的字符串开头的、以字符.结尾的字符串。
/匹配字符/;
[/w- ./?%&=]能够匹配单词字符、-、 (空格)、.、/、?、%、&、=;[/w- ./?%&=]*能够匹配空字符串,或者由单词字符、-、 (空格)、.、/、?、%、&、=组成的长度至少为1的字符串;
(/[/w- ./?%&=]*)?表示表达式/[/w- ./?%&=]*匹配的字符串可以出现或者出现1次。