Jquery — следующий IP-адрес

#jquery #ip

#jquery #ip

Вопрос:

У меня есть переменная, содержащая IP-адрес.

ip = '192.168.0.1'

есть ли способ, которым я могу получить следующий IP-адрес?

например:

nextip = getnextIP(ip)

Комментарии:

1. Tbh Я не верю, что есть.

2. Можно ли преобразовать его в десятичный, увеличить, а затем преобразовать обратно?

3. Вы можете создать свой собственный без особых сложностей — просто нужно проверить наличие переполнения, чтобы перейти к следующей части, например: ip = '192.168.0.1'; parts = ip.split("."); parts[3] = "" ((parts[3] * 1) 1);ip = parts.join("."); console.log(ip); — Я подозреваю, что преобразование в / из двоичного файла было бы намного проще. Редактировать: все побитовые операции javascript выполняются в 32 битах, поэтому, вероятно, не проще преобразовать в двоичный файл.

Ответ №1:

Это должно работать так, как ожидалось:

 function getnextIP(ip) {
    var parts = ip.split(".");
  var n = 0;
  for(var i=0; i<parts.length; i  ) {
    var exp = parts.length-i-1;
    n =parts[i] * Math.pow(2, exp*8)
  }
  n  ;
  var bin = (n >>> 0).toString(2);
  var output = "";
  for(var i=0; i<32; i =8) {
    var chunk = bin.substr(i,8);
    output =parseInt(chunk, 2).toString() ".";
  }
  return output.substr(0,output.length-1);
}
  

Комментарии:

1. Спасибо. Похоже, это делает именно то, что мне нужно 🙂