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