gpt4 book ai didi

用于删除域扩展的 Javascript 正则表达式

转载 作者:行者123 更新时间:2023-11-29 18:22:25 25 4
gpt4 key购买 nike

我想要一个可以从字符串中删除域扩展名的正则表达式,例如该字符串来自文本字段,因此用户可能包含也可能不包含 http://www.

var fqdn = "http://www.mydomainname.com";

var name = regex_function(fqdn);

// name === "mydomainname"

最佳答案

主要有两种方法:with regular expressions以及使用 DOM。

function regex_function(fqdn) {
var a = document.createElement('a');
a.href = fqdn;
return a.hostname || undefined;
}

没有可靠的方法来删除像 .com 这样的域扩展,但您为什么要这样做呢?

此功能确实删除了一些扩展,但请不要使用它,我只是在此处添加它以向您展示甚至需要多少工作和不必要的代码接近删除这些扩展的一小部分:

function removeExt(str){
var a = document.createElement('a');
a.href = str;
var hostName = a.hostname;
var domainExtensions = [
"gov", "org", "co", "com", "in", "info", "net", "uk", "af", "am", "ar", "au", "as", "az", "be", "bg", "bn", "bo", "bs", "ca", "cs", "cy", "da", "de", "dv", "el", "en", "es", "et", "eu", "fa", "fi", "fo", "fr", "gd", "gl", "gn", "gu", "he", "hi", "hr", "hu", "hy", "id", "is", "it", "jp", "ka", "kk", "km", "kn", "ko", "ks", "la", "lo", "lt", "lv", "mi", "mk", "ml", "mn", "mr", "ms", "mt", "my", "nb", "ne", "nl", "or", "pa", "pl", "pt", "rm", "ro", "ru", "sa", "sb", "sd", "si", "sk", "sl", "so", "sq", "sr", "sv", "sw", "ta", "te", "tg", "th", "tk", "tn", "tr", "ts", "tt", "uk", "ur", "uz", "vi", "xh", "yi", "zh", "zu"
];
var regex = new RegExp("\.?(\."+domainExtensions.join('|')+")+$");
return hostName.replace(regex,'');
}

关于用于删除域扩展的 Javascript 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17149098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com