正则表达式检验是否一个正常的有内容的html页面

孔方发发 2018-07-13 05:14:18


/// <summary>
/// 判断是否html url
/// </summary>
/// <param name="strUri"></param>
/// <returns></returns>
public static bool IsHtmlUri(string strUri)
{
string regexStr = @"(http|ftp|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)+\.(png|jpg|gif|swf|doc|xls|rar|zip|docx|xlsx|wps|ppt|css|js)";//查找URL的正则表达式
Regex reg = new Regex(regexStr, RegexOptions.IgnoreCase);//正则表达式的类实例化
MatchCollection mc = reg.Matches(strUri.ToLower());//进行匹配
if (mc.Count <= 0)//判断没有抓取到一条合法的URL
{
return true;
}
return false;
}



string url;
bool flag;
url = "http://www.baidu.com/attachments/船舶防污文书申请书(样表).doc";
flag = IsHtmlUri(url);

url = "http://www.baidu.com/attachments/abc.doc";
flag = IsHtmlUri(url);


第一个是true,第二个是false

我的意愿是2个都应该是false,当 url含有汉字时,结果不是我想要的
...全文
207 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
孔方发发 2018-07-14
  • 打赏
  • 举报
回复

/// <summary>
/// 判断是否html url
/// </summary>
/// <param name="strUri"></param>
/// <returns></returns>
public static bool IsHtmlUri(string strUri)
{
//匹配扩展名
Regex reg = new Regex(@"^.*?\.(png|jpg|jpeg|gif|bmp|ico|psd|doc|docx|xls|xlsx|ppt|pptx|rar|zip|wps|txt|log|pdf|css|js|swf|fla|mpg|mpeg|avi|rm|rmvb|mov|wmv|asf|dat|mp3|exe)$");
//用正则表达式来判定
if (reg.Match(strUri.ToLower()).Success)
{
return false;
}
return true;
}


用了这个函数

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧