我一直在努力验证网址的一部分,以检查某个前缀是否只出现在网址的开头。
出于某种原因,使用下面的代码,它会抛出异常,说“非法令牌”,任何帮助将不胜感激
基本上,我在url中获得某个前缀,例如/ test /并查看它是否出现在urh的开头。并使用“”
替换网址中的前缀 var urlPrefix = "/test/";
var Rexp = new RegExp('^' + urlPrefix);
var hasPrefix = Rexp.test(url);
if(hasPrefix) {
url = url.replace(Rexp, "");
}
当我尝试创建一个抱怨非法令牌的正则表达式构造函数时,它会一直抱怨。任何指针
答案 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'