javascript - 如何使用正则表达式获取主域字符串?

标签 javascript regex url

我刚刚开始使用正则表达式,但遇到了问题。所以如果有人能帮助我的话那就太好了。

问题是,如果我有一个如下所示的网址;

$url = http://www.blog.domain.com/page/category=?

并且只需要,我如何使用javascript中的正则表达式来获取它。

谢谢

最佳答案

这也应该有效,但限制最多且更短:

var url = "http://www.blog.domain.com/page/category"
var result = url.replace(/^(https?:\/\/)?(.+\.)*(([a-z0-9-]*)\.[a-z]{2,6})(\/.+)$/i,"$4")

如果您想要“domain.com”而不仅仅是“域”,请使用 $3 而不是 $4

逐步说明:

  • 正确的域名语法:字母、数字和“-”/([a-z0-9-]*)/i
  • 域名扩展名(2-6 个字符):/(([a-z0-9-]*)\.[a-z]{2,6})/i
  • 子域名:/(.+\.)*(([a-z0-9-]*)\.[a-z]{2,6})/i
  • 以 http 或 https 开头的网址:/^https?:\/\/(.+\.)*(([a-z0-9-]* )\.[a-z]{2,6})/i
  • 输入网址时可以输入或不输入 http:/^(https?:\/\/)?(.+\.)*(([a-z0-9-]*)\.[a-z]{2,6})/i
  • 那么/后面是什么: /^(https?:\/\/)?(.+\.)*(([a-z0-9-]*)\.[a-z]{2 ,6})(\/.+)$/i

关于javascript - 如何使用正则表达式获取主域字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27793115/

相关文章:

javascript - 如何使用 javascript 回调函数检测文本区域中的 url?

javascript - 需要将 UTF-8 字符串编码规范化为组合字符

c# - 从匹配中生成正则表达式

python - 匹配包含月份的日期范围的正则表达式

regexp - 以任意顺序查找字符串中的数字

php - 如何在子域上正确设置 Yii2 模块?

php - 我如何进行 ajax 实时搜索,减少现有列表而不是提取新结果?

javascript - Puppeteer 中的异步/等待等待页面加载

javascript - 通过回调解决引用错误

Javascript 函数参数不起作用