前端把网断转化成ip

0.0.0.0/8,这样的网断前端可以转成ip 的格式吗,或者能校验输入的IP是否再这个范围内

img


这样的效果?


var test = function(ip, str) {
    if (!str) return "网段为空";
    if (!ip) return "ip为空";
    var arr = str.split("."), arr2 = ip.split(".");
    if (arr.length != 4 || arr2.length != 4) return "网段或者ip格式不对";
    if (arr[3].indexOf("/") != -1) {
        var arr3 = arr[3].split("/");
        return arr[0] == arr2[0] 
            && arr[1] == arr2[1] 
            && arr[2] == arr2[2] 
            && parseInt(arr2[3]) >= arr3[0] && parseInt(arr2[3]) <= arr3[1];
    } else {
        return arr[0] == arr2[0] 
            && arr[1] == arr2[1] 
            && arr[2] == arr2[2] 
            && arr[2] == arr2[2];
    }
}
console.log(test("0.0.10.1", "0.0.0.1/8"));
console.log(test("0.0.0.1", "0.0.0.1"));