js校验ip+掩码
时间: 2023-07-04 08:28:12 浏览: 95
IP地址和子网掩码的校验可以通过正则表达式来实现。以下是用于IPv4地址和子网掩码校验的JavaScript正则表达式:
```javascript
// 校验IPv4地址
const ipRegex = /^(\d{1,3}\.){3}\d{1,3}$/;
const isValidIp = ipRegex.test(ipAddress);
// 校验子网掩码
const maskRegex = /^(255|254|252|248|240|224|192|128|0)+(\.0){3}$/;
const isValidMask = maskRegex.test(subnetMask);
```
然后,可以将两个正则表达式组合在一起,以验证给定的IP地址和子网掩码是否都是有效的IPv4地址和子网掩码。以下是一个示例函数:
```javascript
function validateIpAndMask(ipAddress, subnetMask) {
const ipRegex = /^(\d{1,3}\.){3}\d{1,3}$/;
const maskRegex = /^(255|254|252|248|240|224|192|128|0)+(\.0){3}$/;
if (!ipRegex.test(ipAddress)) {
return false; // IP地址无效
}
if (!maskRegex.test(subnetMask)) {
return false; // 子网掩码无效
}
const networkAddress = calculateNetworkAddress(ipAddress, subnetMask);
if (networkAddress === ipAddress) {
return false; // IP地址和子网掩码不匹配
}
return true; // IP地址和子网掩码都有效,并且匹配
}
```
请注意,此代码假定 `calculateNetworkAddress` 函数已经定义并可用。
阅读全文