ipv4地址,由4小节组成,每节的范围如下,以.号间隔,格式如下:

(1255),(0255),(0255),(0255)

请利用这个特性把IPv4地址转换为一个32位的整数,ipv4地址以字符串形式给出,要求每个ipv4地址只能对应到唯一的整数上。

如果是非法IPV4,返回invalid IP

输入描述:

输入ipv4地址格式字符串

输出描述:

按照要求输出整数或者特定字符

备注:

输入不能确保是合法的IPv4地址,需要对非法ipv4(空串,含有IP地址中不存在的字符,非合法的。分十进制,十进制整数不在合法区间内) 进行识别,返回特定错误

示例1:

输入

192#168#1#5

输出

3232235781

let str = '192#168#1#5'
function test(str){
    if(!str){
        return 'invalid IP'
    }
    let ip4Arr = str.split('#')
    if(ip4Arr.length!==4){
        return 'invalid IP'
    }
    let ipv4Str = 0
    for(let i =0;i<ip4Arr.length;i++){
        ipv4Str += ip4Arr[i] * Math.pow(2,8 * (3 - i))
    }
    return ipv4Str
}

console.log(test('192#168#1#5'));