js判断url是否有效的两种方法

JavaScript017

js判断url是否有效的两种方法,第1张

function checkeURL(){

var str=form1.txt.value

//在JavaScript中,正则表达式只能使用"/"开头和结束,不能使用双引号

var Expression=/http(s)?:////([\w-]+\.)+[\w-]+(\/[\w- .\/?%&=]*)?/

var objExp=new RegExp(Expression)

if(str.indexOf("localhost")){

str = str.replace("localhost","127.0.0.1")

}

if(objExp.test(str)==true){

alert("你输入的URL有效")

return true

}else{

alert('你输入的URL无效')

return false

}

}

function check(){

str = form1.txt.value

str = str.match(/http:\/\/.+/)

if (str == null){

alert('你输入的URL无效')

return false

}else{

return true

}

}

可以自己构造一个方法来判断。利用jquery的ajax强求返回请求结果这个"特点",如果这个url不存在,ajax请求会返回404.然后判断返回的状态码:

//判断一个url是否可以访问

function IsLoad(_url,fun){

$.ajax({

url:_url,

type:"get",

success:function(){

//说明请求的url存在,并且可以访问

if($.isFunction(fun)){

fun(true)

}

},

statusCode:{

404:function(){

//说明请求的url不存在

if($.isFunction(fun)){

fun(false)

}

}

}

})

}

//调用

IsLoad('www.baidu.com',function(res){

if(res){

alert('请求的url可以访问')

}

})

本回答由提问者推荐

判断URL解码后的结果是不是乱码如下:

1、如果是ajax:首先要看看后台进行response输出时,设置的头文件格式是不是utf-8,并且要保证输出的类型为text/html

2、判断浏览器解析的是不是utf-8:看看网页展示的中文是不是乱码,如果是,那么就有可能是没指定解析编码,指定方式如楼上所说,<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />

3、没有说明具体语言,以java为例,看看是否加字符过滤器,进行请求过滤,这个简单,tomcat安装的时候就可以选择安装实例,里面就有现成的,拷过来加进去就行。另外网上到处都是。

4、可以打开 源文件看看是不是源码本身是乱码,这是由于开发工具本身设置的编码格式引起的,如Eclipse、MyEclipse中都有这方面的设置