我有一个字符串,例如:https://192.168.22.34/www/index.html
我只想提取IP地址的后2个部分(即2234
)作为端口号。
当前,我正在做:
port = url.split('.').slice(2,4).join("").split('/').slice(0,1).join("");
是否有一种更清洁的方法?还是这是我能做的最好的事情?
答案 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}`);