Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 针对推荐人URL字符串的正则表达式检查_Javascript_Jquery_Regex_Indexof - Fatal编程技术网

Javascript 针对推荐人URL字符串的正则表达式检查

Javascript 针对推荐人URL字符串的正则表达式检查,javascript,jquery,regex,indexof,Javascript,Jquery,Regex,Indexof,大家好 我在一个网站上有一个“盒子”类别,其中所有盒子项目在URL中都有“盒子”。来自其他类别的特定项目需要能够检查用户是否来自“框”项目。(这是一个临时解决方案,因为我只有皮肤级别的访问权限) 当记录“check”时,我会得到“/box/gi”,当在indexOf中进行检查时,它应该是一个有效的正则表达式字符串 我不太清楚为什么我不能正确地检查这个,因为结果只是用户不是来自“框”部分 我有很多东西要学,所以在此之前,我非常感谢任何帮助 谢谢 可以使用字符串变量而不是正则表达式 var orig

大家好

我在一个网站上有一个“盒子”类别,其中所有盒子项目在URL中都有“盒子”。来自其他类别的特定项目需要能够检查用户是否来自“框”项目。(这是一个临时解决方案,因为我只有皮肤级别的访问权限)

当记录“check”时,我会得到“/box/gi”,当在indexOf中进行检查时,它应该是一个有效的正则表达式字符串

我不太清楚为什么我不能正确地检查这个,因为结果只是用户不是来自“框”部分

我有很多东西要学,所以在此之前,我非常感谢任何帮助


谢谢

可以使用字符串变量而不是正则表达式

var orig = document.referrer; // Incoming URL
var check = new RegExp("boxes", "gi"); // Literal string, global + case insensitive.

// console.log(check);

if (orig.indexOf(check) > -1) {
    console.log('you came from the box section');
} else {
    console.log('you DIDNT come the box section');
}

indexOf
不接受正则表达式作为参数。您可以将正则表达式与
search
一起使用,也可以将
indexOf
与字符串一起使用

var orig = document.referrer; // Incoming URL

// console.log(check);

if (orig.indexOf("boxes") > -1) {
    console.log('you came from the box section');
} else {
    console.log('you DIDNT come the box section');
}
您可以使用
match()
regex
来执行逻辑

$(文档).ready(函数(){
var url=“www.someurl.com/box/gi/abc”;
var regex=/\/box\/gi/g;
var mtch=url.match(regex);
如果(mtch!==null){
警报(“url有值”);
}
否则{
警报(“url没有该值”);
}
})

您可以将引用者URL解析为链接元素并检索其路径名。您可能还应该检查主机名,以确保它来自您自己的站点:

orig.toLowerCase().indexOf("box") > -1

// or

orig.search(check) > -1
注意:无论以何种方式,推荐人都不是一个可靠的值,不应被视为可靠的值

var url = document.createElement('a');
url.href = document.referrer;

var comingFromBoxes = url.hostname === 'yoursite.com' && url.pathname.indexOf('/boxes') === 0;