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("//www.dbjr.com.cn"))
{
//刪除操作
}
是的,在本站中用戶可以輸入自己的網(wǎng)址,但有的用戶不知道是為了測(cè)試還是什么,輸入了一眼就能看出是訪問(wèn)不了的鏈接。所以有必要對(duì)用戶輸入的網(wǎng)址做個(gè)檢查,不然無(wú)效鏈接太多的話會(huì)影響網(wǎng)站的權(quán)重,更重要的是過(guò)多的無(wú)效鏈接會(huì)影響其他用戶的體驗(yàn),因?yàn)檎l(shuí)也不想點(diǎn)擊一個(gè)無(wú)效的鏈接。
可以參考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ù)
示例代碼如下:
//無(wú)參數(shù)、無(wú)回調(diào)函數(shù)
$("#showload").load("load.htm");
//無(wú)回調(diào)函數(shù)
$("#showload").load("load.htm", { "para": "para-value" });
$("#showload").load("load.htm", { "para": "para-value" },
function() {
//處理
})
相關(guān)文章
C#實(shí)現(xiàn)支持?jǐn)帱c(diǎn)續(xù)傳多線程下載客戶端工具類(lèi)
C#實(shí)現(xiàn)支持?jǐn)帱c(diǎn)續(xù)傳多線程下載的 Http Web 客戶端工具類(lèi) (C# DIY HttpWebClient),感興趣的朋友可以參考下本文,或許對(duì)你有所幫助2013-04-04MVC使用Log4Net進(jìn)行錯(cuò)誤日志記錄學(xué)習(xí)筆記4
這篇文章主要為大家詳細(xì)介紹了MVC使用Log4Net進(jìn)行錯(cuò)誤日志記錄,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09asp.net實(shí)現(xiàn)的DES加密解密操作示例
這篇文章主要介紹了asp.net實(shí)現(xiàn)的DES加密解密操作,結(jié)合具體實(shí)例形式分析了asp.net實(shí)現(xiàn)DES加密與解密算法的實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-07-07分享AjaxPro或者Ajax實(shí)現(xiàn)機(jī)制
今天與大家分享AjaxPro或者Ajax實(shí)現(xiàn)機(jī)制,需要的朋友可以參考下。2011-12-12.NET?6實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用.NET?6實(shí)現(xiàn)滑動(dòng)驗(yàn)證碼,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下2022-11-11Xamarin.Forms在安卓機(jī)上進(jìn)行本機(jī)調(diào)試
這篇文章介紹了Xamarin.Forms在安卓機(jī)上進(jìn)行本機(jī)調(diào)試的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02ASP.Net開(kāi)發(fā)常見(jiàn)的一些問(wèn)題總結(jié)
ASP.Net開(kāi)發(fā)常見(jiàn)的一些問(wèn)題總結(jié),需要的朋友可以參考一下2013-02-02