»
Tiếng AnhTiếng PhápTiếng Việt

In - Lấy tên miền trong URL với JavaScript RegEx - JavaScriptBank.com

Phiên bản đầy đủ: jsB@nk » Ứng dụng » Công cụ xuất » Lấy tên miền trong URL với JavaScript RegEx
URL: http://www.javascriptbank.com/simple-javascript-regex-parse-domain-name.html

Lấy tên miền trong URL với JavaScript RegEx © JavaScriptBank.comĐoạn mã JavaScript nhỏ gọn này được tác giả dùng JavaScript RegEx để xây dựng như một đối tượng JavaScript gồm hai phương thức JavaScript được dùng để lấy chính xác tên miền của một địa chỉ URL, và một phương thức để kiểm tra một địa chỉ URL nào đó có phải thuộc tên miền hay không. Viết thì dài dòng, bạn hãy xem ví dụ mẫu JavaScript trực tiếp để biết công dụng của nó, đơn giản nhưng rất hiệu quả.Các hiệu ứng dùng JavaScript RegEx khác bạn nên xem nếu muốn tìm hiểu kĩ hơn: - getElementsByClassName: Chọn các đối tượng bằng tên lớp - Giới hạn khung nhập liệu với RegEx - Các hàm so trùng JavaScript dựng sẵn - JavScript RegExp Kiểm tra dữ liệu đăng kí

Phiên bản đầy đủ: jsB@nk » Ứng dụng » Công cụ xuất » Lấy tên miền trong URL với JavaScript RegEx
URL: http://www.javascriptbank.com/simple-javascript-regex-parse-domain-name.html



JavaScript
<script type="text/javascript">// Copyright: ivanceras - http://www.ivanceras.com//*     This script downloaded from www.JavaScriptBank.com     Come to view and download over 2000+ free javascript at www.JavaScriptBank.com*//** *  * USAGE: * UriParser.parseRootDomain("http://user:password@www.truste.com.ca:80/pathname?querystring&key=value#fragment"); //= truste.com.ca * UriParser.parseRootDomain("http://google.com.ph/pathname?querystring&key=value#fragment"); //= google.com.ph * UriParser.parseRootDomain("http://www.google.com/pathname?querystring&key=value#fragment"); //= google.com *  */var UriParser =  { //parse the root domain, exclude the sub domain parseRootDomain : function(url) {  var matches = url.match(/^((\w+):\/\/)?((\w+):?(\w+)?@)?([^\/\?:]+):?(\d+)?(\/?[^\?#]+)?\??([^#]+)?#?(\w*)/);   //my additional code  var theDomain = matches[6];    if(UriParser.isIp(theDomain)){//if it is an ip address return it as domain   return theDomain;  }  var dots = theDomain.split('.');  var n = dots.length;    if(n < 3){//google.com, 2 root words concatenate, 1 word as well i.e. localhost   return dots.join(".");  }  else{//should be greater than or equal to 3 dot split ie. adsense.google.com   var last = dots[n-1];   var second2l = dots[n-2];   var third2l = dots[n-3];     var ext;   var root;   if(second2l.length <= 3){//if google.com.ph, or bbc.co.uk    ext = second2l +"."+ last;    root = third2l;   }else{// adsense.google.com    ext = last;    root = second2l;   }   var domain = ""+ root + "." + ext;   return domain;  } },  //private isNumber : function (o) {    return !isNaN (o-0); }, //private /**  * determines if the url is an ip address  */ isIp: function(domain){  var exploded = domain.split('.');  for(var i = 0; i < exploded.length; i++){   if(!UriParser.isNumber(exploded[i])){    return false;   }  }  return true; },  isSameDomain: function(url1, url2){  if(UriParser.parseRootDomain(url1) == UriParser.parseRootDomain(url2)){   return true;  }  return false; }}</script>


HTML
<h3>Usages:</h3>document.write(UriParser.parseRootDomain("http://user:password@www.truste.com.ca:80/pathname?querystring&key=value#fragment"));<br />document.write(UriParser.parseRootDomain("http://google.com.ph/pathname?querystring&key=value#fragment"));<br />document.write(UriParser.parseRootDomain("http://www.google.com/pathname?querystring&key=value#fragment"));<br />document.write(UriParser.parseRootDomain("http://google.com/pathname?querystring&key=value#fragment"));<br />document.write(UriParser.parseRootDomain("http://localhost/pathname?querystring&key=value#fragment"));<br />document.write(UriParser.parseRootDomain("localhost"));<br />document.write(UriParser.parseRootDomain("http://192.168.1.1/pathname?querystring&key=value#fragment"));<br />document.write(UriParser.isSameDomain("http://www.google.com/pathname?querystring&key=value#fragment", "http://adsense.google.com/?x=123123"))document.write(UriParser.isSameDomain("http://www.blogger.com/navbar.g?targetBlogID=5856931630868336061&blogName=TeamPilipinas.info&publishMode=PUBLISH_MODE_HOSTED&navbarType=BLACK&layoutType=LAYOUTS&searchRoot=http%3A%2F%2Fteampilipinas.info%2Fsearch&blogLocale=en_PH&homepageUrl=http%3A%2F%2Fteampilipinas.info%2F", "blogger.com"));<br /><hr /><h3>Results:</h3><script type="text/javascript">document.write(UriParser.parseRootDomain("http://user:password@www.truste.com.ca:80/pathname?querystring&key=value#fragment") + '<br />');document.write(UriParser.parseRootDomain("http://google.com.ph/pathname?querystring&key=value#fragment") + '<br />');document.write(UriParser.parseRootDomain("http://www.google.com/pathname?querystring&key=value#fragment") + '<br />');document.write(UriParser.parseRootDomain("http://google.com/pathname?querystring&key=value#fragment") + '<br />');document.write(UriParser.parseRootDomain("http://localhost/pathname?querystring&key=value#fragment") + '<br />');document.write(UriParser.parseRootDomain("localhost") + '<br />');document.write(UriParser.parseRootDomain("http://192.168.1.1/pathname?querystring&key=value#fragment") + '<br />');document.write(UriParser.isSameDomain("http://www.google.com/pathname?querystring&key=value#fragment", "http://adsense.google.com/?x=123123"))document.write(UriParser.isSameDomain("http://www.blogger.com/navbar.g?targetBlogID=5856931630868336061&blogName=TeamPilipinas.info&publishMode=PUBLISH_MODE_HOSTED&navbarType=BLACK&layoutType=LAYOUTS&searchRoot=http%3A%2F%2Fteampilipinas.info%2Fsearch&blogLocale=en_PH&homepageUrl=http%3A%2F%2Fteampilipinas.info%2F", "blogger.com"));</script>