使用正则表达式匹配网址中的前缀

时间:2013-12-01 23:27:16

标签: javascript regex

我一直在努力验证网址的一部分,以检查某个前缀是否只出现在网址的开头。

出于某种原因,使用下面的代码,它会抛出异常,说“非法令牌”,任何帮助将不胜感激

基本上,我在url中获得某个前缀,例如/ test /并查看它是否出现在urh的开头。并使用“”

替换网址中的前缀
   var urlPrefix = "/test/";
   var Rexp = new RegExp('^' + urlPrefix);
    var hasPrefix = Rexp.test(url);
    if(hasPrefix) {
        url = url.replace(Rexp, "");
    }

当我尝试创建一个抱怨非法令牌的正则表达式构造函数时,它会一直抱怨。任何指针

1 个答案:

答案 0 :(得分:0)

我稍微更改了代码(添加了一个测试网址,并在结尾处记录了结果)并且一切正常对我来说:

var url = '/test/hello-there.html';

var urlPrefix = "/test/";

var pattern = new RegExp('^' + urlPrefix);
var hasPrefix = pattern.test(url);
if(hasPrefix) {
    url = url.replace(pattern, "");
}

console.log(url); // says 'hello-there.html'

jsfiddle example (open console to see results)