我有一个子网掩码作为对象中的值。它以长形式出现,即。255.255.255.0(对于/ 24)。
我还没有遇到某种JavaScript函数来进行计算。因此,在编写大量if
andelse if
语句之前,我想快速进行仔细检查,以确保没有错过一些已经做到这一点的JavaScript插件。
谢谢!
编辑:澄清
我想知道是否有一个我不知道的JavaScript函数,该函数将转换长格式并返回短格式斜杠表示法。例如:
如果我传递var obj_mask = "255.255.255.0";
给现有的JavaScript(API?),它将返回一个/24
值。
如果JavaScript中不存在这样的函数,那很好,我已经写了一半的if
语句,并且我很乐意在以后共享它,所以没有人需要写出来。但是看到我是JS的新手,我想知道这种功能/ API是否在语言中固有。
刚写完,然后意识到它看起来更干净switch case
:
供任何人参考。如果实际上有一些JS函数或API可以使它更加简洁明了,请回答,然后我将其标记出来。
switch(ret_mask = path.mask) {
case "0.0.0.0":
return ret_mask = "/0";
case "128.0.0.0":
return ret_mask = "/1";
case "192.0.0.0":
return ret_mask = "/2";
case "224.0.0.0":
return ret_mask = "/3";
case "240.0.0.0":
return ret_mask = "/4";
case "248.0.0.0":
return ret_mask = "/5";
case "252.0.0.0":
return ret_mask = "/6";
case "254.0.0.0":
return ret_mask = "/7";
case "255.0.0.0":
return ret_mask = "/8";
case "255.128.0.0":
return ret_mask = "/9";
case "255.192.0.0":
return ret_mask = "/10";
case "255.224.0.0":
return ret_mask = "/11";
case "255.240.0.0":
return ret_mask = "/12";
case "255.248.0.0":
return ret_mask = "/13";
case "255.252.0.0":
return ret_mask = "/14";
case "255.254.0.0":
return ret_mask = "/15";
case "255.255.0.0":
return ret_mask = "/16";
case "255.255.128.0":
return ret_mask = "/17";
case "255.255.192.0":
return ret_mask = "/18";
case "255.255.224.0":
return ret_mask = "/19";
case "255.255.240.0":
return ret_mask = "/20";
case "255.255.248.0":
return ret_mask = "/21";
case "255.255.252.0":
return ret_mask = "/22";
case "255.255.254.0":
return ret_mask = "/23";
case "255.255.255.0":
return ret_mask = "/24";
case "255.255.255.128":
return ret_mask = "/25";
case "255.255.255.192":
return ret_mask = "/26";
case "255.255.255.224":
return ret_mask = "/27";
case "255.255.255.240":
return ret_mask = "/28";
case "255.255.255.248":
return ret_mask = "/29";
case "255.255.255.252":
return ret_mask = "/30";
case "255.255.255.254":
return ret_mask = "/31";
case "255.255.255.255":
return ret_mask = ""
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句