求个正则 只获取域名主体部分

蕃薯 发布于 2014/07/10 21:07
阅读 676
收藏 0

假设用户无论是输入以下任何一个域名 只想截取到  baidu   或 sina  或 163  或用户输入的其它域名,我要取他输入的域名主体部分,这个正则要怎么写

baidu.com

www.w.ww.baidu.com

www.sina.com

www.baidu.com.cn

www.sina.cn

www.baidu.net

163.net.cn

。。。。。。

以下是问题补充:

@蕃薯:貌似正则可能无法实现了,我自己换其它方式解决这个问题了,谢了各位 (2014/07/10 22:31)
加载中
0
NealFeng
NealFeng

这个正则做不到,因为本来这种排列本来就是不固定的,可能有无数种,就算自己写程序也难。

要想实现得知道所有2级域名哪些是国家管理的,哪些可以是自己申请的。不过简化后可以实现,比如认为二级域名里的net、gov等等这些是国家管理的,而且其一级域名必须是cn。

当然也有可能能做到,是我想不到。

0
freesnow
freesnow
没明白楼主意思。。直接匹配/baidu/不就可以。。
蕃薯
蕃薯
baidu只是个例子,并不知道用户输的是哪个域名
0
吴笑笑
对“主体”的定义不明确啊,要怎么截?这个不现实吧
0
无尽的折腾啊
无尽的折腾啊
歪解:可以这么说吧。只要 《 域名》 的  《
0
atearsan
atearsan

我也不知道域名的  “主体部分” 是什么!

我猜根本用不上正则,js就能搞定!

var a = document.createElement('a');
 a.href = 'http://www.cnblogs.com/wayou/p/';
 console.log(a.host);


// Ppppppppppppppppps: 示例出自 http://www.oschina.net/question/587367_159352

atearsan
atearsan
回复 @蕃薯 : a.host.split(".")[1] 大概满足了吧?啊哈哈哈
蕃薯
蕃薯
就拿你这个网址 http://www.cnblogs.com/wayou/p/ ,我要取的是 cnblogs ,我说的主体就是域名部分,不包括域名后缀 ~_~
0
狂飙的小蜗牛
狂飙的小蜗牛
自己收集几个常用的 顶级域 就可以匹配绝大部分
0
Cobbage
Cobbage

前面匹配不了,连接的那个后缀是定的吧.com/.cn/.org......

0
Tuesday
Tuesday
www.w.ww.baidu.com
这是域名? 楼主, 你确定?

如果是真实的域名格式, 直接切割.然后取索引1即可. 域名主体是不可以有点号的.
0
Null--Null
Null--Null
先判断是否是二级域名,可以这样
/^([\w\-\.]+)\.([\w\-]+)+(\.com|\.com\.cn|\.cn|\.net|\.net\.cn|\.org|\.org\.cn)$/

当然后面的域名自己手工添加

如果不是二级域名或多级域名,就判断为项级域名

/^([\w\-]+)+(\.com|\.com\.cn|\.cn|\.net|\.net\.cn|\.org|\.org\.cn)$/



最后打印匹配的结果。



返回顶部
顶部