<script>
var ref = document.referrer;
if (ref.search(/^https?:\/\/([^\/]+\.)?website\.com(\/|$)/i))
{
alert("**...***");
window.location.href = "http://www.website.com";
}
</script>
它会跟踪来自website.com的推介,但不会追踪来自www.website.com的推介,这就是为什么代码会一次又一次地继续进行。
你能帮助我并教我如何添加一个&#34; www。&#34;正则表达式?
答案 0 :(得分:1)
根据documentation:search
方法返回
正则表达式与给定字符串之间的第一个匹配的索引;如果没有找到,-1。
您正在测试true或false,但如果索引为0,则等于false。
测试-1
值。
var ref = "http://www.website.com";
if (ref.search(/^https?:\/\/([^\/]+\.)?website\.com\/?$/i) !== -1 ) {
// here ___^^^^^^
console.log('Match');
} else {
console.log('No match');
}
&#13;
答案 1 :(得分:0)
首先,有一些像regexpal这样的工具,您可以在线检查和测试正则表达式,还有很多文档和相应的网站。
我会尝试类似:ref.search(/^https?:\/\/([^\.]+\.)?website\.com(\/.*|$)?/i)
或ref.toLowerCase.indexOf('http://www.website.com') === 0
检查它是否确实是这样(或不是)......
答案 2 :(得分:0)
试试这个
(http(s)?://)?([\ w-] +。)+ [\ w-] +(/ [\ w-;,。/?%&amp; =] *)?< / p>
将匹配
www.google.co
www.google.com
google.com
google.co.in
googgle.Net
www.google.com
http://www.google.com
https//gogle.com