在我的客户端代码中,用户输入如下地址:
http://192.168.1.52:8080/home/client.html
我想分别提取 IP地址 192.168.1.52和端口号 8080。
以下是我提取ip的方法,但失败了!
var url = window.location.href;
ValidIpAddressRegex = new RegExp("^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$");
var ip= ValidIpAddressRegex.exec(url);
alert(ip);
在javascript中提取IP和端口号的正确方法是什么.-谢谢
答案 0 :(得分:5)
window.location.hostname
和window.location.port
在https://developer.mozilla.org/en-US/docs/Web/API/window.location
了解window.location
的详情
答案 1 :(得分:5)
最简单的方法是使用假锚:
var str = 'http://192.168.1.52:8080/home/client.html'
var a = document.createElement('a')
a.href = str;
var host = a.hostname;
var post = a.port;
如果它来自地址栏,则内置于document.location
答案 2 :(得分:3)
这是一种从给定的URL字符串解析信息的简单方法(不一定是来自实际的document.location)
<script>
var url = 'http://192.168.1.52:8080/home/client.html';
var ip = url.split('/')[2].split(':')[0];
var port = url.split('/')[2].split(':')[1];
</script>