這篇文章主要介紹了asp.net C#檢查URL是否有效的方法,需要的朋友可以參考下
我們有時(shí)候需要對(duì)用戶輸入的網(wǎng)站(URL)進(jìn)行有效性檢查,
代碼如下:
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;
}
不止從格式上,更要檢查用戶輸入的網(wǎng)址是否真正有效。檢查URL可以參考js正則表達(dá)式驗(yàn)證網(wǎng)址格式,檢查URL有效的方法有很多,例如你可以使用jQuery進(jìn)行檢查,
本篇將給出一段使用C#判斷網(wǎng)址是否有效的代碼。
下邊是檢查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; //超時(shí)時(shí)間10秒
HttpWebResponse res = (HttpWebResponse)myRequest.GetResponse();
return (res.StatusCode == HttpStatusCode.OK);
}
catch
{
return false;
}
}
使用時(shí),我們只需傳入U(xiǎn)rl即可進(jìn)行有效性檢查,使用這個(gè)方法時(shí)記得加上System.Net命名空間。
代碼如下:
if (!UrlCheck("
{ //刪除操作 } 是的,在本站中用戶可以輸入自己的網(wǎng)址,但有的用戶不知道是為了測(cè)試還是什么,輸入了一眼就能看出是訪問不了的鏈接。所以有必要對(duì)用戶輸入的網(wǎng)址做個(gè)檢查,不然無效鏈接太多的話會(huì)影響網(wǎng)站的權(quán)重,更重要的是過多的無效鏈接會(huì)影響其他用戶的體驗(yàn),因?yàn)檎l也不想點(diǎn)擊一個(gè)無效的鏈接。 可以參考jQuery Ajax, 以下5個(gè)方法執(zhí)行一般Ajax請(qǐng)求的簡(jiǎn)短形式,在處理復(fù)雜的Ajax請(qǐng)求時(shí)應(yīng)該使用jQuery.ajax(). 1.load(url,[data],[callback]) 載入遠(yuǎn)程HTML文件代碼并插入至DOM中,默認(rèn)使用GET方式,傳遞參數(shù)時(shí)自動(dòng)轉(zhuǎn)換為POST方式。 ◦url:要載入的遠(yuǎn)程url地址 ◦data:發(fā)送至服務(wù)器的key/value 數(shù)據(jù) ◦callback:載入成功時(shí)的回調(diào)函數(shù) 示例代碼如下: 代碼如下: //無參數(shù)、無回調(diào)函數(shù) $("#showload").load("load.htm"); //無回調(diào)函數(shù) $("#showload").load("load.htm", { "para": "para-value" }); $("#showload").load("load.htm", { "para": "para-value" }, function() { //處理 }) 更多信息請(qǐng)查看IT技術(shù)專欄