C# 中判断URL 的方法?

数据库中的邮箱有的是以http://开头,有的是以www开头;然后有的是以com结尾,有的是cn结尾,甚至有的没有后缀。我听人说.NET自带一个方法能够自动判断并且能够通... 数据库中的邮箱有的是以http:// 开头,有的是以www开头;然后有的是以com结尾,有的是cn结尾,甚至有的没有后缀。
我听人说.NET自带一个方法能够自动判断 并且能够通过.
求这个方法,并实现.
求这个方法,并实现.
//正则判断
string reg = @"^(http(s)?:\/\/)?(www\.)?[\w-]+(\.\w{2,4})?\.\w{2,4}?(\/)?$";
Regex r = new Regex(reg);
//给网址去所有空格
string urlStr = webresourceaddress.Trim();
Match m = r.Match(urlStr);

//判断是否带http://
if (!m.Success)
return false;
//给不带http://开头的加上
urlStr = urlStr.Replace("http://", "");
urlStr = urlStr.Insert(0, "http://");

我已经做出来了。谢谢大家的参与.
最佳答案我不知道该选哪个了。
展开
 我来答
shengbinjiang
2010-07-09 · TA获得超过119个赞
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:78.8万
展开全部
“((http|https|ftp):(\/\/|\\\\)((\w)+[.])
{1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(((\/[\~]*|\\[\~]*)(\w)+)|[.]
(\w)+)*(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)
+)*)*)”(不含外侧中文引号),
解析:要判断字符串是否为网址,需要下面几个条件。
条件一:常见的网址是以http://、https://或ftp://开头,而这
部分转换为正则表达式就为(http|https|ftp):(\/\/|\\\\)。
条件二:在http://后面必须要紧跟一个单词字符(一般为www),
然后就是字符“.”(这样的组合必须出现一次或多次),最后就是域
名(net、com、cn或数字的IP地址等),这部分转换为正则表达式就
为((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})。
条件三:在完整的链接后,可能会出现下一级或更多级的目录,
甚至是“~”符号,此条件变为正则表达式为(((\/[\~]*|\\[\~]*)
(\w)+)|[.](\w)+)*。
条件四: 链接的末尾还可以带有参数,如前面提到的230.
aspx&e=9690或是?Page=2&action=display等,换为正则表达式为(((([?]
(\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*。
===============================
代码如下 :

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Text.RegularExpressions;

public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string sRegex = @"(((([?](\w)+){1}[=]*))*((\w)+){1}([\&](\w)+[\=](\w)+)*)*";
Regex myrx = new Regex(sRegex);
Match match = myrx.Match("http://www.hao123.com");
if (!match.Success)
{
Response.Write("网址输入有错");
}
else
{
Response.Write("网址正确");
}

}
}

===============================
楼下的,你有没有试过啊!
抛出异常,要占用多少资源啊!
何况根本就不行,这个我早想过了!
CloudPRose
2010-07-08 · TA获得超过5175个赞
知道大有可为答主
回答量:3175
采纳率:66%
帮助的人:881万
展开全部
1.通过统一的方法过滤
2.通过不同的构造器创建统一的URL。

没有前缀还可以加默认的。没有后缀(.com, .cn)是没可能的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陌上的那颗新桑
2010-07-09 · TA获得超过406个赞
知道小有建树答主
回答量:465
采纳率:100%
帮助的人:370万
展开全部
Uri uri = new Uri("URL 地址");
如果是错误的 URL ,会抛出异常。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式