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

首頁 > 開發(fā) > JS > 正文

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

2024-05-06 16:27:20
字體:
供稿:網(wǎng)友
這篇文章主要介紹了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)地址知識:

第一點:進(jì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)換成十進(jìn)制就是:10.70.64.0

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

第三點:js的按位與運算

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

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

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)容,希望對大家的學(xué)習(xí)有所幫助。



注:相關(guān)教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 和田县| 宁安市| 察雅县| 日照市| 嘉祥县| 江永县| 千阳县| 延庆县| 新绛县| 景泰县| 富平县| 十堰市| 广丰县| 麦盖提县| 南川市| 井冈山市| 万州区| 香港 | 高要市| 大兴区| 赤水市| 容城县| 凤台县| 监利县| 宁德市| 平江县| 加查县| 沅江市| 铅山县| 正镶白旗| 长岭县| 宁波市| 青冈县| 霸州市| 恭城| 成武县| 同德县| 金寨县| 原阳县| 龙里县| 边坝县|