IPV4地址可以用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整数(因此正号不需要出现),如10.137.17.1,是我们非常熟悉的IP地址,一个IP地址串中没有空格出现(因为要表示成一个32数字)。
现在需要你用程序来判断IP是否合法。
输入一个ip地址,保证不包含空格。
返回判断的结果YES or NO。
function isValidIP(ip) {
const nums = ip.split('.');
let result = 'YES';
if (nums.length === 4) {
// 遍历每个元素,合不合法
for (const element of nums) {
// 每段长度等于0,或者长度大于4,都不合法
if (element.length === 0 || element.length > 3) {
result = 'NO';
break;
}
for (const ch of element) {
// 每段的字符必须是数字
if (!Number.isInteger(Number(ch))) {
result = 'NO';
break;
}
}
// 除0以外,所有0开头的字符串都是非法
if (element.charAt(0) === '0' && element.length !== 1) {
result = 'NO';
break;
}
// 每段对应的数大于255,也是非法的
if (parseInt(element) > 255) {
result = 'NO';
break;
}
}
} else {
result = 'NO';
}
return result;
}
华为OD机试真题 Java 实现【合法IP】【牛客练习题】
下一篇:华为OD机试真题 Java 实现【基站维修工程师】【2023Q1 200分】,附详细解题思路
本文收录于,华为OD机试(JAVA)(2022&2023)
本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。