Javascript 使用正则表达式搜索带有通配符的URL

Javascript 使用正则表达式搜索带有通配符的URL,javascript,regex,wildcard,referrer,Javascript,Regex,Wildcard,Referrer,我正在建立一个网站,这是一个项目组合。我有一些分页,可以让你进入下一个/上一个项目 我想在进入项目时运行一些动画,但不想在项目之间浏览时运行 我的计划是使用referer URL来了解您是否从另一个项目访问了一个项目,从而不运行动画。但是我的正则表达式不好,所以我有麻烦 下面是我想做的(伪代码) 重要的是”http://www.example.com/work/digital/“应该是假的,但是”http://www.example.com/work/digital/*“应该是真的 那么,正则表

我正在建立一个网站,这是一个项目组合。我有一些分页,可以让你进入下一个/上一个项目

我想在进入项目时运行一些动画,但不想在项目之间浏览时运行

我的计划是使用referer URL来了解您是否从另一个项目访问了一个项目,从而不运行动画。但是我的正则表达式不好,所以我有麻烦

下面是我想做的(伪代码)

重要的是”http://www.example.com/work/digital/“应该是假的,但是”http://www.example.com/work/digital/*“应该是真的

那么,正则表达式怎么做呢


谢谢

我想你正在寻找这个:-

var refURL = document.referrer;
if( refURL.search('http://www.example.com/work/digital/(.*)') > 0 ) {
    // Do not run animation
} else {
    // Run animation
}
换句话说,您可以使用
indexOf()


我想你正在寻找这个:-

var refURL = document.referrer;
if( refURL.search('http://www.example.com/work/digital/(.*)') > 0 ) {
    // Do not run animation
} else {
    // Run animation
}
换句话说,您可以使用
indexOf()

(.*)
匹配0个或多个字符,而
(.+)
匹配1个或多个字符

另外,JavaScript中的RegExp不需要封装,所以只需键入

var exp = /pattern/modifiers
欲了解更多详情,请访问:

我对您的问题的想法是尝试以下方法:

var refURL = document.referrer;
if (refURL.search(/^http:\/\/www.example.com\/work\/digital\/(.+)$/i) >= 0) {
    // Do not run the animation
} else {
    // Run the animation
}
(.*)
匹配0个或多个字符,而
(.+)
匹配1个或多个字符

另外,JavaScript中的RegExp不需要封装,所以只需键入

var exp = /pattern/modifiers
欲了解更多详情,请访问:

我对您的问题的想法是尝试以下方法:

var refURL = document.referrer;
if (refURL.search(/^http:\/\/www.example.com\/work\/digital\/(.+)$/i) >= 0) {
    // Do not run the animation
} else {
    // Run the animation
}

可以在javascript中使用正则表达式和

var searchin = item.toLowerCase();
var str = "*abc*";
str = str.replace(/[*]/g, ".*").toLowerCase().trim();
return new RegExp("^"+ str + "$").test(searchin);

可以在javascript中使用正则表达式和

var searchin = item.toLowerCase();
var str = "*abc*";
str = str.replace(/[*]/g, ".*").toLowerCase().trim();
return new RegExp("^"+ str + "$").test(searchin);

*将是something.html还是something.php?不可能,或者如果它总是
数字的
,我想你不需要使用
正则表达式。您可以使用
javascript
split()
方法,检查最后8个字符是否为
数字/
,哦,不建议所有内容都参考w3schools,但是对于split,其中的代码似乎很好!它实际上并不总是数字化的,但使用split是个好主意!*将是something.html还是something.php?不可能,或者如果它总是
数字的
,我想你不需要使用
正则表达式。您可以使用
javascript
split()
方法,检查最后8个字符是否为
数字/
,哦,不建议所有内容都参考w3schools,但是对于split,其中的代码似乎很好!它实际上并不总是数字化的,但使用split是个好主意!您不需要参数,除非您需要捕获数字后的内容您不需要参数,除非您需要捕获数字后的内容实际上需要>=0才能工作。请为将来更新您的答案。假设我有:或。我怎样才能发现呢/^http:\/\/www.example.com\/work\/(\d{1,10})/?一般来说是的,不过要注意“www.”-使用“(www.)?”告诉您的模式同时接受这两个选项:带和不带“www.”的链接实际上需要>=0才能工作。请为将来更新您的答案。假设我有:或。我怎样才能发现呢/^http:\/\/www.example.com\/work\/(\d{1,10})/?一般来说是的,不过要注意“www.”-使用“(www.)?”告诉您的模式同时接受这两个选项:带和不带“www.”的链接