asp.net C#检查URL是否有效的方法
2016-05-06 15:35
204 查看
我们有时候需要对用户输入的网站(URL)进行有效性检查,
复制代码 代码如下:
function CheckUrl(str) {
var RegUrl = new RegExp();
RegUrl.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&?/.=]+$");
if (!RegUrl.test(str)) {
return false;
}
return true;
}
不止从格式上,更要检查用户输入的网址是否真正有效。检查URL可以参考js正则表达式验证网址格式,检查URL有效的方法有很多,例如你可以使用jQuery进行检查,
本篇将给出一段使用C#判断网址是否有效的代码。
下边是检查URL有效性的方法:
复制代码 代码如下:
private bool UrlCheck(string strUrl)
{
if (!strUrl.Contains("http://") && !strUrl.Contains("https://"))
{
strUrl = "http://" + strUrl;
}
try
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
myRequest.Method = "HEAD";
myRequest.Timeout = 10000; //超时时间10秒
HttpWebResponse res = (HttpWebResponse)myRequest.GetResponse();
return (res.StatusCode == HttpStatusCode.OK);
}
catch
{
return false;
}
}
使用时,我们只需传入Url即可进行有效性检查,使用这个方法时记得加上System.Net命名空间。
复制代码 代码如下:
if (!UrlCheck("http://www.jb51.net"))
{
//删除操作
}
是的,在本站中用户可以输入自己的网址,但有的用户不知道是为了测试还是什么,输入了一眼就能看出是访问不了的链接。所以有必要对用户输入的网址做个检查,不然无效链接太多的话会影响网站的权重,更重要的是过多的无效链接会影响其他用户的体验,因为谁也不想点击一个无效的链接。
可以参考jQuery Ajax,
以下5个方法执行一般Ajax请求的简短形式,在处理复杂的Ajax请求时应该使用jQuery.ajax().
1.load(url,[data],[callback])
载入远程HTML文件代码并插入至DOM中,默认使用GET方式,传递参数时自动转换为POST方式。
◦url:要载入的远程url地址
◦data:发送至服务器的key/value 数据
◦callback:载入成功时的回调函数
示例代码如下:
复制代码 代码如下:
//无参数、无回调函数
$("#showload").load("load.htm");
//无回调函数
$("#showload").load("load.htm", { "para": "para-value" });
$("#showload").load("load.htm", { "para": "para-value" },
function() {
//处理
})
复制代码 代码如下:
function CheckUrl(str) {
var RegUrl = new RegExp();
RegUrl.compile("^[A-Za-z]+://[A-Za-z0-9-_]+\.[A-Za-z0-9-_%&?/.=]+$");
if (!RegUrl.test(str)) {
return false;
}
return true;
}
不止从格式上,更要检查用户输入的网址是否真正有效。检查URL可以参考js正则表达式验证网址格式,检查URL有效的方法有很多,例如你可以使用jQuery进行检查,
本篇将给出一段使用C#判断网址是否有效的代码。
下边是检查URL有效性的方法:
复制代码 代码如下:
private bool UrlCheck(string strUrl)
{
if (!strUrl.Contains("http://") && !strUrl.Contains("https://"))
{
strUrl = "http://" + strUrl;
}
try
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(strUrl);
myRequest.Method = "HEAD";
myRequest.Timeout = 10000; //超时时间10秒
HttpWebResponse res = (HttpWebResponse)myRequest.GetResponse();
return (res.StatusCode == HttpStatusCode.OK);
}
catch
{
return false;
}
}
使用时,我们只需传入Url即可进行有效性检查,使用这个方法时记得加上System.Net命名空间。
复制代码 代码如下:
if (!UrlCheck("http://www.jb51.net"))
{
//删除操作
}
是的,在本站中用户可以输入自己的网址,但有的用户不知道是为了测试还是什么,输入了一眼就能看出是访问不了的链接。所以有必要对用户输入的网址做个检查,不然无效链接太多的话会影响网站的权重,更重要的是过多的无效链接会影响其他用户的体验,因为谁也不想点击一个无效的链接。
可以参考jQuery Ajax,
以下5个方法执行一般Ajax请求的简短形式,在处理复杂的Ajax请求时应该使用jQuery.ajax().
1.load(url,[data],[callback])
载入远程HTML文件代码并插入至DOM中,默认使用GET方式,传递参数时自动转换为POST方式。
◦url:要载入的远程url地址
◦data:发送至服务器的key/value 数据
◦callback:载入成功时的回调函数
示例代码如下:
复制代码 代码如下:
//无参数、无回调函数
$("#showload").load("load.htm");
//无回调函数
$("#showload").load("load.htm", { "para": "para-value" });
$("#showload").load("load.htm", { "para": "para-value" },
function() {
//处理
})
相关文章推荐
- asp.net 的一个简单进度条功能
- ASP.NET MVC企业级项目框架
- c# asp.net 测试程序执行时间
- c# asp.net 测试程序执行时间
- 在ASP.NET 2.0中操作数据之十三:在DetailsView控件中使用TemplateField
- ASP.NET MVC 开源建站系统 ZKEACMS 推荐,从此网站“拼”起来
- Asp.net磁力链接搜索引擎源码-www.btboot.com
- ASP.NET的事件模型
- asp.net C#母版页和内容页事件排版加载顺序生命周期
- asp.net在线预览txt文件(简单实现)
- 在ASP.NET 2.0中操作数据之十一:基于数据的自定义格式化
- 在ASP.NET 2.0中操作数据之十:使用 GridView和DetailView实现的主/从报表
- 在Visual Studio 2015中使用Grunt、Bowe
- windows2003 IIS6.0右键属性没有asp.net选项卡的解决办法
- 在ASP.NET 2.0中操作数据之十:使用 GridView和DetailView实现的主/从报表
- 在ASP.NET 2.0中操作数据之十一:基于数据的自定义格式化
- 在ASP.NET 2.0中操作数据之十二:在GridView控件中使用TemplateField
- 在ASP.NET 2.0中操作数据之十三:在DetailsView控件中使用TemplateField
- ASP.NET MVC使用RazorEngine解析模板生成静态页
- 在ASP.NET 2.0中操作数据之十四:使用FormView 的模板