asp.net C#检查URL是否有效

简介: 原文 asp.net C#检查URL是否有效 我们有时候需要对用户输入的网站(URL)进行有效性检查,  代码如下 复制代码 function CheckUrl(str) {    var RegUrl = new RegExp();    RegUrl.

原文 asp.net C#检查URL是否有效

我们有时候需要对用户输入的网站(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.111cn.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() {
        //处理
    })

目录
相关文章
|
5月前
|
开发框架 .NET C#
ASP.Net c# 正则表达式 子表达式 group
ASP.Net c# 正则表达式 子表达式 group
35 0
|
9月前
|
开发框架 前端开发 .NET
C# ASP.NET Core开发学生信息管理系统(一)
C# ASP.NET Core开发学生信息管理系统(一)
277 0
|
1月前
|
开发框架 中间件 .NET
C# .NET面试系列七:ASP.NET Core
## 第一部分:ASP.NET Core #### 1. 如何在 controller 中注入 service? 在.NET中,在ASP.NET Core应用程序中的Controller中注入服务通常使用<u>依赖注入(Dependency Injection)</u>来实现。以下是一些步骤,说明如何在Controller中注入服务: 1、创建服务 首先,确保你已经在应用程序中注册了服务。这通常在Startup.cs文件的ConfigureServices方法中完成。例如: ```c# services.AddScoped<IMyService, MyService>(); //
60 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
95 5
|
3月前
|
开发框架 .NET 定位技术
asp.net core3.1 c# 生成三种sitemap
asp.net core3.1 c# 生成三种sitemap
16 0
|
4月前
|
数据采集 开发框架 监控
C# ASP.NET 实验室 检验中心 医疗LIS源码
LIS系统整体流程 检验项目申请:医生通过HIS或者病历系统开具检验项目检验申请单(内容包括病人信息及检验项目),申请信息自动传到护士站。如果不和HIS和病历系统对接,可以通过LIS系统自身的检验申请模块,实现申请单电子化,申请信息自动传到护士站。
33 0
|
6月前
|
开发框架 .NET 数据库
asp.net企业费用报销管理信息系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio
asp.net 企业费用报销管理信息系统是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为vs2010,数据库为sqlserver2008,使 用c#语言开发 应用技术:asp.net c#+sqlserver 开发工具:vs2010 +sqlserver
49 0
|
9月前
|
开发框架 人工智能 前端开发
Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用
Visual Studio Code安装C#开发工具包并编写ASP.NET Core Web应用
191 0
|
9月前
|
开发框架 前端开发 JavaScript
C# ASP.NET Core开发学生信息管理系统(三)
C# ASP.NET Core开发学生信息管理系统(三)
128 0
|
9月前
|
开发框架 前端开发 .NET
C# ASP.NET Core开发学生信息管理系统(二)
C# ASP.NET Core开发学生信息管理系统(二)
77 0