我从来没有在javascript中使用过正则表达式,时机已到,我想。
我需要搜索window.location
,看看它是否有我需要的参数 - start=SOME_NUMBER
。
如果搜索返回true,我需要让start=SOME_NUMBER
返回给我并将其存储在变量中。
好处是,我可以自己创建模式,但不好的是我不知道如何在javascript中编写代码。所以,我基本上不知道在哪里以及如何使用我的模式。
如果有人能给我一个关于javascript如何与正则表达式一起工作的简短解释,我会非常感激。
感谢。
编辑:
另外,如果模式与任何内容都不匹配,我希望变量返回空。
答案 0 :(得分:1)
Regular-Expressions.info有一个很棒的Javascript breakdown。与Flavor comparison结合使用时,您几乎可以编写任何所需内容。享受!
答案 1 :(得分:1)
您可以使用string.match(regexp)
功能。我在这里有一个小提琴http://jsfiddle.net/E7frT/。
var matches = window.location.toString().match(/[^\w]start=(\d+)/i);
// above we are using a case insensitive regexp with numbers as a matching group
// indicated with the parenthesis, this makes it possible to extract that part of
// the match
var start = null;
if(matches) {
start = matches[1];
// The matches will be an array if there were any, the zero index will contain
// the entire match index one onward will be any matching groups in our regexp
}
// start will be null if no match or the number (as a string) if there is a match
答案 2 :(得分:0)
您可以使用
查找“start = NUMBER”String(window.location).match(/start=[0-9]+/g);
它将返回整个“start = NUMBER”,但不应该很难过滤那里的数字。