仅拆分和组合字符串的一部分

时间:2018-06-21 15:16:52

标签: javascript

我有一个字符串,例如:https://192.168.22.34/www/index.html

我只想提取IP地址的后2个部分(即2234)作为端口号。

当前,我正在做:

port = url.split('.').slice(2,4).join("").split('/').slice(0,1).join("");

是否有一种更清洁的方法?还是这是我能做的最好的事情?

2 个答案:

答案 0 :(得分:1)

您可以使用这个:

var url = 'https://192.168.22.34/www/index.html'
port = url.split('/')[2].split('.').slice(2,4).join('');

console.log(port);
  

也可以使用正则表达式执行相同操作:

var url = 'https://192.168.22.34/www/index.html'
port = url.match(/\d{1,3}/g).slice(2,4).join('');

console.log(port);

答案 1 :(得分:1)

您可以提取主机,在其上应用正则表达式,然后提取所需的var:

const url = 'https://192.168.22.34/www/index.html';    

const [,,a,b] = new URL(url).host.match(/\d{2,3}/g);

console.log(`${a}${b}`);