探寻者飞

我正像学走路的娃娃,期盼有一天会跑、会飞翔......

博客园 首页 新随笔 联系 订阅 管理

本小节实现利用C#的正则表达式验证一个URL字符串的合法性。一个合法的URL如下:

http://www.php.net

其构造规则为:

[协议]://[www].[域名].[com|net|org…]

根据上一小节的构造正则表达式,可以构造下面的规则:

"^http://(www\.){0,1}.+\.(com|net|cn)$"

其中,“^http://”定义能匹配规则的字符串开头是“http://”;“(www\ .)?”表示随后应该是0~1个“www”;而“.+”表示任意字符串;然后是一个“.”,转义字符“\”表明其仅仅是一个字符;最后的“(com|net|org)$”表明以com、net、org中其中一个结尾,此处,只列出这3种情况。

完成验证URL合法性的方法如下所示。

代码7-27  验证URL示例:Class1.cs

1.              public bool ValidateUrl(string _strUrl)

2.              {

3.                    string patten = @"^http://(www\.){0,1}.+\.(com|net|cn)$"; //正则表达式

4.                                 

5.                                                        Regex r = new Regex(patten);           //声明一个Regex对象

6.                                                        Match m = r.Match(_strUrl);            //使用Match方法进行匹配

7.                                                        if(m.Success)      //匹配成功

8.                    {

9.                          return true;

10.                   }

11.                   else

12.                   {

13.                         return false;

14.                   }

15.             }

posted on 2007-07-20 09:19  探寻者飞  阅读(3017)  评论(1编辑  收藏  举报