2009年9月10日 星期四

JavaScript: Regular Expression on Domains (2 methods)

Method 1:

//-- section = 0 : index+sub-index, 1 : content --//
var section="0";
var str = document.location.href;

var url_pattern=new Array(
"^news.sina.com.hk$",
"^news.sina.com.hk/$",
"^news.sina.com.hk/index.html$",
"^/cgi-bin/nw/realtime.cgi$",
"^/cgi-bin/nw/main.cgi[?]cat=2$",
"^/cgi-bin/nw/main.cgi[?]cat=19$",
"^/cgi-bin/nw/international.cgi$",
"^/cgi-bin/nw/china.cgi$",
"^/cgi-bin/nw/main.cgi[?]cat=15$",
"^/cgi-bin/nw/main.cgi[?]cat=22$",
"^/cgi-bin/nw/main.cgi[?]cat=23$",
"^/cgi-bin/vote/index.cgi$",
"^/cgi-bin/nw/special.cgi$"
);

for(var i=0; i{
if(new RegExp(url_pattern[i]).test(str))
{
section="0";
}
else
{
section="1";
}
}

if(section=="0") {
alert("index");
}
else {
alert("content");
}



Method 2:

var as_section='ros'; //all page are ros except match the following
var as_curr_url = document.location.href;
as_curr_url= as_curr_url.replace(RegExp("^http://"+location.hostname), '');

var as_exact_match = new Array(
"/",
"/index.html",
"/cgi-bin/nw/realtime.cgi",
"/cgi-bin/nw/main.cgi?cat=2",
"/cgi-bin/nw/main.cgi?cat=19",
"/cgi-bin/nw/international.cgi",
"/cgi-bin/nw/china.cgi",
"/cgi-bin/nw/main.cgi?cat=15",
"/cgi-bin/nw/main.cgi?cat=22",
"/cgi-bin/nw/main.cgi?cat=23",
"/cgi-bin/vote/index.cgi",
"/cgi-bin/nw/special.cgi"
);

var as_pattern = new Array(
//"/test/regex.html$"
);

for ( var i = 0; i < as_exact_match.length; i++) {
if (as_exact_match[i] == as_curr_url) {
as_section='index'; break;
}
}

if (as_section == "ros"){
for ( var i = 0; i < as_pattern.length; i++) {
if (as_curr_url.match(as_pattern[i])) {
as_section='index'; break;
}
}
}

if(as_section == 'index'){
alert("index");
}else {
alert("content");
}

沒有留言:

張貼留言