java掩码校验_Java 检查Ip掩码
时间: 2024-01-15 19:02:29 浏览: 60
可以使用Java的正则表达式来检查IP掩码是否合法。以下是一个示例代码:
```java
public static boolean isValidSubnetMask(String subnetMask) {
if (subnetMask == null || subnetMask.isEmpty()) {
return false;
}
String[] octets = subnetMask.split("\\.");
if (octets.length != 4) {
return false;
}
int[] octetValues = new int[4];
for (int i = 0; i < 4; i++) {
try {
octetValues[i] = Integer.parseInt(octets[i]);
} catch (NumberFormatException e) {
return false;
}
if (octetValues[i] < 0 || octetValues[i] > 255) {
return false;
}
}
int mask = (octetValues[0] << 24) | (octetValues[1] << 16) | (octetValues[2] << 8) | octetValues[3];
int maskInverse = ~mask;
int maskCheck = mask & maskInverse;
return maskCheck == 0;
}
```
上述代码中,我们首先将掩码字符串拆分成四个八位二进制数,然后将每个二进制数转换为十进制数,并确保它们的值在0到255之间。接下来,我们将四个十进制数转换为一个32位的二进制数,并计算掩码的反码和。最后,我们检查掩码和反码的按位与是否等于0,如果是,则表示掩码是有效的。
阅读全文