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'));