- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
var allowed = [ 0xfe, 0xfc, 0xf8, 0xf0,
0xe0, 0xc0, 0x80, 0x00 ];
for (var i = 0; i < parts.length; i++) {
var part = parts[i];
// ...
if ($.grep(allowed, function(a) { return part == a; }).length > 0) {
max = 0x00;
} else {
FocusObject(object);
show_alert( jstextTemplate("<jstext>field_contains_bad_IP_mask</jstext>", {name: name}) );
return false;
}
}
Да 33 варианта всего же, лень думать было. Можно, кстати, вообще засунуть в хешмап все 33 варианта, и дергать оттуда.
> Алсо есть же uncontinious маски.
Бля, еще и такое безобразие есть... Век живи - век учись.
Ну для них проверки уже смысла не имеют. Проверить на 0..255, да и хватит.
поэтому к чертям
224.224.224.224 - валидная маска
255.255.255.0 - нет
и на месте пропуска (// ...)
Или ~iptoint(mask)+1 проверяем на равенство степени 2.