Javascript regexp未正确剪切url

Javascript regexp未正确剪切url,javascript,regex,Javascript,Regex,我有下面的代码,这让我有些头疼,因为在纸上看起来一切都很好,但当我把它付诸实践时,它给了我奇怪的结果 代码的目的是在变量“domainurlcut”中获取页面的URL并对其进行剪切,然后检查URL是否包含前缀“www”。如果包含前缀,则将其删除。 如果我使用regexp,一切正常: domainurlcut = /\w+\.\w+/g.exec(domainurlcut); 但问题是,如果url是www.google.co.uk,它就不起作用。它只会将其剪切到google.co 可以使用www

我有下面的代码,这让我有些头疼,因为在纸上看起来一切都很好,但当我把它付诸实践时,它给了我奇怪的结果

代码的目的是在变量“domainurlcut”中获取页面的URL并对其进行剪切,然后检查URL是否包含前缀“www”。如果包含前缀,则将其删除。 如果我使用regexp,一切正常:

domainurlcut = /\w+\.\w+/g.exec(domainurlcut);
但问题是,如果url是www.google.co.uk,它就不起作用。它只会将其剪切到google.co 可以使用www.google.com,因为它将返回google.com

我试图通过将该regexp修改为下面的一个(目前在下面的代码中有注释)来解决这个问题

这解决了www.google.co.uk的问题,但我还有另一个问题。 例如,如果我在域www.thingiverse.com中进行测试,则警报的输出预期为

"thingiverse.com" 
而是:

   "thingiverse.com,thingiverse"
你能帮我弄明白怎么了吗? 通过检查它的regexp,“应该”工作正常

完整代码如下:

var domainurlcut = /(\w*\.+)+\w*/g.exec(window.location.href);

    if (/(www.)/g.test(domainurlcut)){  
        domainurlcut = /\.\w*.\w*.\w+/g.exec(domainurlcut); 
    //  domainurlcut = /\w+\.\w+.\w+/g.exec(domainurlcut);  
        domainurlcut = /\w+\.\w+/g.exec(domainurlcut);  
    }
    domainurlcut = domainurlcut[0];

    alert(domainurlcut);
试试这个

var url;
url = 'www.thingiverse.com'
url = 'www.google.co.uk'
var domainurlcut = /(\w*.)([\w.-\/]*)/.exec(url);

console.log(domainurlcut);
var result = domainurlcut[2];

alert(result);

为什么要使用regexp?以及为什么要删除
www
?JFYI,有些网站如果没有
www
就无法运行,我宁愿使用
location.host
属性,如果它以
www.
开头,那么修剪它,你就可以使用doneHi@jtrs,几乎可以用了。我将其添加到我的代码中,并成功地将其输出。google.co.uk和.thingiverse.com我现在需要删除域名前面的点,并将其与现有代码集成以修复它。太棒了,谢谢你!
var url;
url = 'www.thingiverse.com'
url = 'www.google.co.uk'
var domainurlcut = /(\w*.)([\w.-\/]*)/.exec(url);

console.log(domainurlcut);
var result = domainurlcut[2];

alert(result);