Files
vue-driven-cloud-storage/backend/node_modules/validator/es/lib/isIPRange.js
237899745 4350113979 fix: 修复配额说明重复和undefined问题
- 在editStorageForm中初始化oss_storage_quota_value和oss_quota_unit
- 删除重复的旧配额说明块,保留新的当前配额设置显示

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 19:39:53 +08:00

41 lines
1.0 KiB
JavaScript

import assertString from './util/assertString';
import isIP from './isIP';
var subnetMaybe = /^\d{1,3}$/;
var v4Subnet = 32;
var v6Subnet = 128;
export default function isIPRange(str) {
var version = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
assertString(str);
var parts = str.split('/');
// parts[0] -> ip, parts[1] -> subnet
if (parts.length !== 2) {
return false;
}
if (!subnetMaybe.test(parts[1])) {
return false;
}
// Disallow preceding 0 i.e. 01, 02, ...
if (parts[1].length > 1 && parts[1].startsWith('0')) {
return false;
}
var isValidIP = isIP(parts[0], version);
if (!isValidIP) {
return false;
}
// Define valid subnet according to IP's version
var expectedSubnet = null;
switch (String(version)) {
case '4':
expectedSubnet = v4Subnet;
break;
case '6':
expectedSubnet = v6Subnet;
break;
default:
expectedSubnet = isIP(parts[0], '6') ? v6Subnet : v4Subnet;
}
return parts[1] <= expectedSubnet && parts[1] >= 0;
}