国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

js針對ip地址、子網掩碼、網關的邏輯性判斷

2019-11-20 10:51:17
字體:
來源:轉載
供稿:網友

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

普及下網關地址知識:

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

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

第三點:js的按位與運算

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

分享js針對ip地址、子網掩碼、網關的邏輯性判斷詳細代碼

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地址與子網掩碼、網關地址不匹配!');  return false; }

js驗證IP及子網掩碼的合法性代碼分享:

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; //"合法"  } }

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舒城县| 马尔康县| 旌德县| 贡觉县| 建湖县| 长沙县| 闽侯县| 高州市| 固镇县| 潞西市| 庆城县| 德令哈市| 霸州市| 建阳市| 柞水县| 双柏县| 安丘市| 灵璧县| 武川县| 巴楚县| 翁牛特旗| 临高县| 花莲市| 土默特左旗| 都昌县| 新河县| 登封市| 江永县| 浦县| 城口县| 邛崃市| 霍山县| 思茅市| 翼城县| 镇安县| 广安市| 梁河县| 兰坪| 垣曲县| 新营市| 子洲县|