Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
166 views
in Technique[技术] by (71.8m points)

javascript - Checking the referrer

I'm using this to check if someone came from Reddit, however it doesn't work.

var ref = document.referrer;
if(ref.match("/http://(www.)?reddit.com(/)?(.*)?/gi"){
    alert('You came from Reddit');
} else {
    alert('No you didn't');
}

Suggestions on the regular expression are most welcome too.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Try this:

if (ref.match(/^https?://([^/]+.)?reddit.com(/|$)/i)) {
  alert("Came from reddit");
}

The regexp:

/^           # ensure start of string
 http        # match 'http'
 s?          # 's' if it exists is okay
 ://       # match '://'
 ([^/]+.)? # match any non '/' chars followed by a '.' (if they exist)
 reddit.com # match 'reddit.com'
 (/|$)      # match '/' or the end of the string
/i           # match case-insenitive

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...