假设我们有一个IP地址,例如:192.168.1.1/24
,如何从这个地址找到网络地址?
我试图删除IP地址以用0
替换最后一个字符,但它不起作用。
$('.ip').val().replace($('.ip').val().split('/')[0].split('.')[3], 0);
其中,$('.ip')
是类名为ip
的输入的选择器。
返回092.168.1.1/24
。预期的结果是:192.168.1.0/24
发布于 2015-06-29 14:01:01
以下内容将为您提供所需的结果:
$('.ip').val(function(_, value) {
return value.replace(/\d+(\/\d+)$/, '0$1');
});
\d+(\/\d+)$
替换一个或多个数字,后面是一个正斜杠(/
),另一个数字更多(在给定字符串的末尾)。
0$1
是替换的,所以0
后面跟着匹配()
之间表达式的值(在示例中是/24
)
只是一个附带说明,这没有概念的CIDR符号(即。如果CIDR被更改,结果将是相同的--这是一个简单的字符串替换)
发布于 2015-06-29 12:48:38
使用第三方服务可能是您的最佳选择:
$(document).ready(function () {
$.getJSON("http://jsonip.com/?callback=?", function (data) {
var ip = data.ip;
});
});
您还可以尝试使用Jquery的ajax函数获取您在服务器上创建的PHP文件的内容,然后在该php文件中使用
$ip=$_SERVER['REMOTE_ADDR'];
echo "IP address= $ip";
https://stackoverflow.com/questions/31115923
复制相似问题