如何使用正则表达式获取主域字符串
How to get the main domain string using regular expression?
我刚刚开始使用正则表达式,遇到了一个问题。因此,如果有人可以帮助我,那就太好了。
问题是,如果我有一个如下所示的网址;
$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
- 键入 url 时,您可以放置或不输入 http:
/^(https?:'/'/)?(.+'.)*(([a-z0-9-]*)'.[a-z]{2,6})/i
- 那么/: 之后是什么
/^(https?:'/'/)?(.+'.)*(([a-z0-9-]*)'.[a-z]{2,6})('/.+)$/i
尝试以下代码
var url = "http://www.blog.domain.com/page/category=?";
var match = url .match(/(?:http?:'/'/)?(?:www'.)?(.*?)'//);
console.log(match[match.length-1]);
您可以使用
以下正则表达式获取它: /.*'.(.+)'.[com|org|gov]/
您可以在此正则表达式中添加所有受支持的域扩展名。
正则表达式101解释
工作代码片段:
var url = "http://www.blog.domain.gov/page/category=?";
var regEx = /.*'.(.+)'.[com|org|gov]/;
alert(url.match(regEx)[1]);
不要为此使用正则表达式:
使用主机名:
URLUtils.hostname 属性是一个包含 网址。
var x = new URL("http://www.blog.domain.com/page/category=?").hostname;
console.log(x);
正如Vishwanath所指出的,URL面临与IE<10的兼容性问题,因此对于这些情况,将需要正则表达式。
使用这个 :
var str = "http://www.blog.domain.com/page/category=?";
var res = str.match(/[^.]*.(com|net|org|info|coop|int|co'.uk|org'.uk|ac'.uk|uk)/g);
console.log(res);
=> domain.com
正则表达式中的列表可以根据您的需要进一步扩展。可在此处找到顶级域名列表
相关文章:
- 通过字符串获取JSON对象
- 将敲除绑定应用于模板,并将结果作为字符串获取
- 使用字符串获取本地对象的属性
- 如何使用 jQuery 在标签的 for 属性中使用子字符串获取标签元素的值
- 使用 Javascript 将 Java 渲染为字符串获取最终 HTML
- 如何使用正则表达式从此字符串获取电子邮件
- 维基媒体API从JSON字符串获取相关数据
- 如何使用jQuery将HTML数据值作为字符串获取
- 带有换行符的JSP+HTML-将其作为字符串获取,并删除"新线”;
- 如何从字符串获取url-jQuery或Javascript
- QML-将JS函数的代码作为字符串获取
- cookie字符串获取并设置jquery控件的属性
- 通过字符串获取HTML元素
- 从绝对url字符串获取锚值
- 在myObj.one.two.three.field中,当字段有2个或更多嵌套级别时,通过路径字符串获取对象字段
- 从带有moment的非本地ISO8601字符串获取时间(小时,分钟)
- 使用javascript使用parseFloat和parseInt无法正常工作的字符串获取价格
- 如何从json字符串获取键值
- 使用javascript从给定字符串获取电子邮件id
- 从Json字符串获取数据到javascript (jQuery)