正则表达式从域字符串获取SLD + TLD

时间:2015-07-28 20:52:47

标签: javascript regex

我有一个以域名作为参数的函数,但域必须采用xxx.com的格式。例如必须将http://subdomain.example.com作为example.com传递给函数。

我写了下面的正则表达式,但它只返回TLD(.com)。我是一个有正则表达式的新手,所以无法真正看到我出错的地方......第一个声明是从http://中提取domain而第二个语句应该提取任何子域

var domain = req.query.domain.replace(/.*?:\/\//g, '').replace(/^[^.]+\./g, '');

使用上述正则表达式,http://example.com变为com

2 个答案:

答案 0 :(得分:2)

我认为直接匹配模式比匹配和删除其补码更容易。我会使用模式/[^./]+\.[^./]+$/。这匹配两行非特殊字符,由字符串末尾的句点分隔。

alert('http://subdomain.example.com'.match(/[^./]+\.[^./]+$/)[0]);
alert('http://example.com'.match(/[^./]+\.[^./]+$/)[0]);

答案 1 :(得分:0)

更简单的答案是使用显示here

from django.contrib.auth.models import AbstractUser class BaseModel(models.Model): id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) class Person(AbstractUser, BaseModel): 技巧

要获取主机名和TLD,您只需编写

即可
document.createElement