2016-11-21 81 views
0

我试图解析URL的末尾,并根据它的结束重定向。String.endsWith(/ [字符串]/[1-999] /)

例如,如果我要www.something.com/foo/1/我想重定向到www.something.com/foo/1/bar。在这种情况下,1可以是任何正整数。

我一直在试图用,但不能得到工作是:

if (window.location.href.endsWith('/foo/\d/')) { fetch stuff and redirect } else { do something else }

不工作,我猜endsWith无法解析正则表达式。

由于提前,

彼得

+1

那么这不是一个正则表达式,那是一个字符串。正则表达式不在引号内。 – epascarello

回答

1

在您的代码endsWith('/foo/\d/')检查字符串与特定的字符串参数结束,将无法正常工作一个正则表达式。

为了检查使用正则表达式使用RegExp#test方法与正则表达式/foo\/\d{1,3}\/$/

if(/foo\/\d{1,3}\/$/.test(window.location.href)) 
+1

是的,工作。非常感谢! –

+0

@PeterHolmberg:很高兴帮助:) –

0

可以正则表达式匹配字符串,而不是结束,

/.*foo\d/$/ 

我的正则表达式可能是错的,但你可以使用$来表示结束字符串的,只是做一个普通regex.test