Javascript匹配两个url变量

时间:2014-05-25 23:14:04

标签: javascript

我有一个根据url中的变量生成文本的代码。我想知道的是,是否有一种方法可以同时获取两个在url的同一个字符串中彼此分开放置的变量来显示我的文本。

说这是我的字符串?q1=iphone3gs&q2=Other&q3=fixme。该网址必须包含iphoneother才能显示文字。

必须选择

iphoneother来显示文字http://jsfiddle.net/2tXvh/6/show/?q1=iphone3gs&q2=Other&q3=fixme(这只是在q2=Other上调用)

我的想法是使用下面显示的(/iphone&Other/),但这不起作用。

if (keys[1].match(/iphone&Other/)) {
    $("#linkdiv1").append(nextLink1);
}

1 个答案:

答案 0 :(得分:1)

这不是正则表达式的工作方式。如果你想要将两件事情放在一起,你将不得不使用2个正则表达式(如果你想确保它是单独的顺序),或者指定允许两者之间的内容。匹配的字符串在这种情况下,您可能需要2个单独的匹配:

if (keys[1].match('iphone') && keys[1].match('Other')) {
    $("#linkdiv1").append(nextLink1);
}

或者,由于您只是在搜索字符串的出现,因此您不需要使用正则表达式,或.match()就此问题:

if (keys[1].indexOf('iphone') !== -1 && keys[1].indexOf('Other') !== -1) {
    $("#linkdiv1").append(nextLink1);
}