由于最近在做小程序的CIDR计算功能,需要将掩码位数转换为掩码,但是琉璃君懒,网络上找了下...发现貌似没有JavaScript的相关的资料,所以就自己写吧。
丢在博客算是记录一下,免得自己什么时候忘记了。(大神勿喷)

(小程序不算原生开发的,基于Vue的,所以方法就下面这样子,而且方法内没做掩码位数限制,因为输入的时候我给用户做限制了,这边如果有人要拿去使用,记得自己添加限制哦)

maskLengthToMask: function(maskLength) {
    let netMaskZero = (maskLength) = >{
        let temp = "";
        for (let i = 0; i < 32 - maskLength; i++) {
            temp = String(temp) + String(0);
        }
        return temp;
    };
    let netMaskOne = "11111111111111111111111111111111".substring(0, maskLength);
    let netMaskBinary = netMaskOne + netMaskZero(maskLength);
    let netMask = String(parseInt(netMaskBinary.substring(0, 8), 2)) + '.' + String(parseInt(netMaskBinary.substring(8, 
        16), 2)) + '.' + String(parseInt(netMaskBinary.substring(16, 24), 2)) + '.' + 
        String(parseInt(netMaskBinary.substring(24, 32), 2));
    return netMask;
}