📜  使用正则表达式获取域名 - Javascript (1)

📅  最后修改于: 2023-12-03 14:49:55.963000             🧑  作者: Mango

使用正则表达式获取域名 - Javascript

在处理URL网址时,我们通常需要把域名单独提取出来,以便于我们进行后续的处理,例如统计网站的访问量、查询网站的WHOIS信息等等。

在Javascript中,我们可以使用正则表达式来轻松地获取域名。

正则表达式

正则表达式是一种用于匹配字符串的模式,它可以描述字符串的特定格式。我们可以使用正则表达式来匹配域名。

以下是一个简单的正则表达式:

/^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/

它可以匹配以下形式的URL:

  • http://example.com/path/to/page.html
  • https://www.example.com:8080/page.html
  • example.com/index.php?q=search
Javascript代码

我们可以在Javascript中使用正则表达式来获取域名。

下面是一个获取域名的函数示例:

/**
 * @param {string} url
 * @returns {string}
 */
function getDomainName(url) {
  const pattern = /^(?:https?:\/\/)?(?:[^@\n]+@)?(?:www\.)?([^:\/\n]+)/;
  const match = url.match(pattern);
  if (match && match.length > 1) {
    return match[1];
  }
  return null;
}
使用示例

我们可以在浏览器的控制台中测试以上代码:

const url = 'https://www.example.com/path/to/page.html';
const domainName = getDomainName(url);
console.log(domainName); // 输出:example.com
结论

以上代码可以轻松地获取域名,使得我们可以方便地进行URL网址处理的下一步操作。