如何用javascript的RegExp判断domain?

要从这样的URL中判断“sample”这个域名

//www.sample.com/xxxxxxxxxxxxxxxxxxxxxxxx

可能有“http”和“https”两种情况,如何用正则表达式实现呢?

阅读 7.5k
2 个回答

就题主提供的简单案例,可用

var re = /^https?://www\.([a-z0-9][\a-z0-9-]*)\.com/.*$/

如考虑各种二级域名或有限的域名后缀就略复杂。
如考虑所有可能的域名后缀,那基本是坑。

已有的答案在:http://segmentfault.com/q/1010000000360070

但是有些时候就算知道了规则也没用。例如给楼主挖个大坑跳一跳:

http://www.net.cn/

所以解出主域名绝对是一个大工程,远比你想象的复杂,甚至最后是无解的。请寻找一个成形库,不要指望简单的regex能完全做到。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题