题解 | #验证IP地址#
验证IP地址
http://www.nowcoder.com/practice/55fb3c68d08d46119f76ae2df7566880
/**
* 验证IP地址
* @param IP string字符串 一个IP地址字符串
* @return string字符串
*/
function solve( IP ) {
// write code here
let arr;
if(IP.includes('.')){
arr = IP.split('.');
if(arr.length < 4){
return "Neither";
}
for(let i = 0;i<arr.length;i++){
if(isNaN(Number(arr[i])) || +arr[i] > 255 || arr[i][0] == '0' && arr[i][1] !='0' || arr[i][0] == '0' && arr[i][1] =='0'){ // 出现1a1、256、010、001的情况
return "Neither";
}
}
return "IPv4";
}else if(IP.includes(':')){
arr = IP.split(':');
if(arr.length < 8){
return "Neither";
}
for(let i = 0;i<arr.length;i++){
if(arr[i].length>4 || arr[i].length<1){
return "Neither";
}
for(let j = 0;j<arr[i].length;j++){
if(arr[i][j].toLowerCase().charCodeAt(0)>'f'.charCodeAt(0)){// 出现1G2f的情况
return "Neither";
}
}
}
return "IPv6";
}
}
module.exports = {
solve : solve
};