最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js針對ip地址、子網(wǎng)掩碼、網(wǎng)關(guān)的邏輯性判斷

 更新時間:2016年01月06日 08:53:55   作者:Rock_sz  
這篇文章主要介紹了js針對ip地址、子網(wǎng)掩碼、網(wǎng)關(guān)的邏輯性判斷,感興趣的小伙伴們可以參考一下

因為要做靜態(tài)地址配置的js校驗,找了好多資料發(fā)現(xiàn)網(wǎng)上都是關(guān)于ip,mask的有效性檢查,沒有ip,submask,gateway的邏輯性判斷,自己寫下代碼供需要的人參考。

普及下網(wǎng)關(guān)地址知識:

第一點:進行與運算1與1得1,1與0為0,0與0為0。首先把ip和子網(wǎng)掩碼展開
10.70.64.223        00001010 .01000110.01000000.11011111
255.255.255。0   111111111.11111111.11111111.00000000
網(wǎng)段就是         00001010 .01000110.01000000.00000000
然后轉(zhuǎn)換成十進制就是:10.70.64.0

第二點:IP地址與子網(wǎng)掩碼做與運算和網(wǎng)關(guān)地址與子網(wǎng)掩碼做與運算得到的結(jié)果應(yīng)該是一致的就對了,也就是主機號一致。
我這里是先用js將ip,mask,gateway按照‘.'分隔后相與做判斷的。

第三點:js的按位與運算

result = 【整數(shù)1】 & 【整數(shù)1】
& 對兩個 32 位表達式的每一個位執(zhí)行按位“與”運算。 如果兩個位均為 1,則結(jié)果是 1。 否則,結(jié)果為 0。

分享js針對ip地址、子網(wǎng)掩碼、網(wǎng)關(guān)的邏輯性判斷詳細代碼

function checkIP(ip) 
{ 
 obj=ip;
 var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; 
 var reg = obj.match(exp); 
 if(reg==null) 
 { 
  return false;//不合法
 } 
 else 
 { 
  return true; //合法
 } 
}
 
function checkMask(mask) 
{ 
 obj=mask; 
 var exp=/^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/; 
 var reg = obj.match(exp); 
 if(reg==null) 
 { 
   return false; //"非法"
 } 
  else 
 { 
   return true; //"合法"
 } 
} 
 var static_ip= document.getElementById('static_ip').value;
  var static_mask= document.getElementById('static_mask').value; 
  var static_gw= document.getElementById('static_gw').value;

  
  if (static_ip=='')
  {
   // $("#static_ip_error").css("display","block");
   document.getElementById('static_ip').focus();
   return false;
  }else if(!checkIP(static_ip))
  {
   //$("#static_ip_error").css("display","none");
   document.getElementById('static_ip').focus();
   return false;    
  }
   
  if(static_mask=='')
  { 
   //$("#static_mask_error").css("display","block");
   document.getElementById('static_mask').focus();
   return false;  
  }else if(!checkMask(static_mask))
  {
   //$("#static_mask_error").css("display","none"); 
   document.getElementById('static_mask').focus();
   return false;  
  }  
  
  if(static_gw=='')
  { 
   //$("#static_gw_error").css("display","block");
   document.getElementById('static_gw').focus();
   return false;  
  }else if(!checkIP(static_gw))
  {
   //$("#static_gw_error").css("display","none");
   document.getElementById('static_gw').focus();
   return false;    
  } 
 

 if(static_ip == static_mask || static_mask == static_gw || static_mask == static_gw)
 {
  alert('地址輸入錯誤!');
  return false; //3個地址不能相同
 }
 
 var static_ip_arr = new Array;
 var static_mask_arr = new Array;
 var static_gw_arr = new Array;
  
 static_ip_arr = static_ip.split(".");
 static_mask_arr = static_mask.split(".");
 static_gw_arr = static_gw.split(".");

 var res0 = parseInt(lan_ip_arr[0]) & parseInt(static_mask_arr[0]);
 var res1 = parseInt(lan_ip_arr[1]) & parseInt(static_mask_arr[1]);
 var res2 = parseInt(lan_ip_arr[2]) & parseInt(static_mask_arr[2]);
 var res3 = parseInt(lan_ip_arr[3]) & parseInt(static_mask_arr[3]);
 
 var res0_gw = parseInt(static_gw_arr[0]) & parseInt(static_mask_arr[0]);
 var res1_gw = parseInt(static_gw_arr[1]) & parseInt(static_mask_arr[1]);
 var res2_gw = parseInt(static_gw_arr[2]) & parseInt(static_mask_arr[2]);
 var res3_gw = parseInt(static_gw_arr[3]) & parseInt(static_mask_arr[3]);
 
 if(res0==res0_gw && res1==res1_gw && res2==res2_gw && res3==res3_gw)
 {
  
 }else{
  alert('IP地址與子網(wǎng)掩碼、網(wǎng)關(guān)地址不匹配!');
  return false;
 }

js驗證IP及子網(wǎng)掩碼的合法性代碼分享:

function checkIP(ip) 
{ 
  obj=ip;
  var exp=/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/; 
  var reg = obj.match(exp); 
  if(reg==null) 
  { 
    return false;//不合法
  } 
  else 
  { 
    return true; //合法
  } 
}
 
function checkMask(mask) 
{ 
  obj=mask; 
  var exp=/^(254|252|248|240|224|192|128|0)\.0\.0\.0|255\.(254|252|248|240|224|192|128|0)\.0\.0|255\.255\.(254|252|248|240|224|192|128|0)\.0|255\.255\.255\.(254|252|248|240|224|192|128|0)$/; 
  var reg = obj.match(exp); 
  if(reg==null) 
  { 
     return false; //"非法"
  } 
   else 
  { 
     return true; //"合法"
  } 
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。

相關(guān)文章

最新評論

平顶山市| 婺源县| 大洼县| 肇州县| 紫阳县| 澜沧| 龙川县| 徐汇区| 深水埗区| 安岳县| 甘洛县| 山东省| 北京市| 华容县| 祁连县| 青河县| 巴林左旗| 乌拉特中旗| 大渡口区| 栖霞市| 衡南县| 监利县| 白沙| 白银市| 金华市| 高要市| 天祝| 镇赉县| 新乡市| 阿巴嘎旗| 城步| 绩溪县| 揭阳市| 永修县| 富宁县| 海淀区| 三门县| 广丰县| 资兴市| 星座| 磴口县|