是否使用Javascript删除ip地址前导零?
如何将010.017.007.152样式的地址(用于方便的数据库排序)转换为10.17.7.152,以便使用Javascript显示和超链接 样本: 010.064.214.210 010.064.000.150 010.064.017.001 127.000.0.001 10.0.00.000是否使用Javascript删除ip地址前导零?,javascript,Javascript,如何将010.017.007.152样式的地址(用于方便的数据库排序)转换为10.17.7.152,以便使用Javascript显示和超链接 样本: 010.064.214.210 010.064.000.150 010.064.017.001 127.000.0.001 10.0.00.000 非常感谢。使用regex,您可以替换许多模式。像这样的东西可能有用 var ip = "010.064.214.210" var formatted = ip.replace(/(^|\.)0+(\d)
非常感谢。使用regex,您可以替换许多模式。像这样的东西可能有用
var ip = "010.064.214.210"
var formatted = ip.replace(/(^|\.)0+(\d)/g, '$1$2')
console.log(formatted)
简单英语中的正则表达式
/ # start regex
(^|\.) # start of string, or a full stop, captured in first group referred to in replacement as $1
0+ # one or more 0s
(\d) # any digit, captured in second group, referred to in replacement as $2
/g # end regex, and flag as global replacement
下面是一个使用字符串操作和转换为整数的选项。相比之下,它看起来很难看,但可以工作:
var ip = "010.064.000.150".split('.').map(function(octet){
return parseInt(octet, 10);
}).join('.');
或者,稍微清洁一点:
var ip = "010.064.000.150".split('.').map(function(octet){
return +octet;
}).join('.');
使用类似的方法,甚至更短,请查看。您可以使用以下代码:
var ip = " 010.017.007.152";
var numbers = ip.split(".");
var finalIp = parseInt(numbers[0]);
for(var i = 1; i < numbers.length; i++){
finalIp += "."+parseInt(numbers[i]);
}
console.log(finalIp);
var ip=“010.017.007.152”;
var编号=ip分割(“.”);
var finalIp=parseInt(数字[0]);
对于(变量i=1;i
JSFiddle(h/t@DavidThomas):您只需删除前导零即可。哈哈!但我想让Javascript来做,而不是我。感谢加入。映射到数字构造函数的好主意!那就是我要去的地方,我可以给你一个机会吗映射构造函数很好:
vara=[未定义,'abc',1,2',null,3];a、 过滤器(布尔值);//=>['abc',1,2,3]
map如果不使用库(如jquery或下划线),可能无法在IE<8上工作-非常好的解决方案尽管nirk的解决方案是我最喜欢的。谢谢。谢谢你的详细分类。
function fix_ip(ip) { return ip.split(".").map(Number).join("."); }