为什么这个简单的JavaScript无法正常工作?

时间:2010-09-25 00:47:20

标签: javascript regex

这里是js的新手。基本上我试图用这个来检测当前页面的URL中是否存在字符串:

var url = window.location;
var param = /\?provider=/i;
if (url.search(param) != -1) {
    alert('it does exist');
} else
    alert('it does not exist');

当我手动定义url变量时,它可以正常工作

var url = 'http://google.com?provider='

但是当我尝试像上面的脚本中那样动态抓取它时它不起作用,有什么方法可以使它工作吗?

2 个答案:

答案 0 :(得分:2)

您需要位置对象上的href属性,如下所示:

var url = window.location.href;
var param = /\?provider=/i;
if (url.search(param) != -1) {
    alert('it does exist');
} else
    alert('it does not exist');

location不是字符串,它是一个对象,并且没有.search()方法,.href是字符串。

答案 1 :(得分:0)

window.location是一个对象。查看位置对象的整个属性集:https://developer.mozilla.org/en/DOM/window.location

你所追求的是window.location.href;