从javascript中的字符串中提取ip地址和端口

时间:2013-12-06 23:56:32

标签: javascript

在我的客户端代码中,用户输入如下地址:

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和端口号的正确方法是什么.-谢谢

3 个答案:

答案 0 :(得分:5)

window.location.hostnamewindow.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;

FIDDLE

如果它来自地址栏,则内置于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>