javascript正则表达,获取域名和前缀

兄弟们,请教下,javascript正则表达,获取域名和前缀
最新回答
叼辣条闯世界

2024-05-25 03:46:07

var url="
http://text.com";

var exp=/(?:http:\/\/)?(?:(\w+)\.)?(?:(\w+)\.)(\w+)/g;
var match=exp.exec(url);
console.log(match[1]||"",match[2],match[3]);//"" "text" "com"
追问
(?:http:\/\/)?中的?:和?解释一下.
谢谢!
追答
?:不捕获分组,就是里面的内容不要放到结果里

?前面的字符有或者没有

我这里的意思就是 有没有http://都可以的
可以处理
http://text.com
、text.com
绝命小红帽

2024-05-25 01:04:14

首先把字符串的http://给替换成空,然后用.分割,判断,如果分割的数组有3个就依次输出,否则就第一个为"",后面的一次输出
如梦如幻

2024-05-25 00:46:13

var arr = url.replace("http://","").split(".");
if(arr.length==3)
alert(arr[0]+","+arr[1]+","+arr[2]);
else
alert("\"\""+","+arr[1]+","+arr[2]);