Javascript 判断两个IP是否在同一网段实例代码

Javascript 判断两个IP是否在同一网段

以下脚本不做IP格式的判断,只判断两个IP是否在同一网段。

例子,Javascript判断两个IP是否在同一网段。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>

 <HEAD>
  <TITLE>
   IP段信息检测_www.manongjc.com
  </TITLE>
  <script language="JavaScript" type="text/javascript">
   function checkSameNetMask(value1, value2, netmask) {
    var ip1 = new Array();
    var ip2 = new Array();
    var nm = new Array();
    ip1 = value1.split(".");
    ip2 = value2.split(".");
    nm = netmask.split(".");
    var ip1_2s = "";
    var ip2_2s = "";
    var inm2s = "";
    var index = 0;
    for (index = 0; index < 4; index++) {
     var ip_1 = new Array();
     var ip_2 = new Array();
     var n_m = new Array();
     ip_1 = parseInt(ip1[index]).toString(2);
     ip_2 = parseInt(ip2[index]).toString(2);
     n_m = parseInt(nm[index]).toString(2);
     var tindex;
     for (tindex = 0; tindex < (8 - ip_1.length); tindex++) {
      ip1_2s += "0";
     }
     ip1_2s += ip_1;
     for (tindex = 0; tindex < (8 - ip_2.length); tindex++) {
      ip2_2s += "0";
     }
     ip2_2s += ip_2;
     for (tindex = 0; tindex < (8 - n_m.length); tindex++) {
      inm2s += "0";
     }
     inm2s += n_m;
    }
    var len = inm2s.length;
    var ip_12 = new Array();
    var ip_22 = new Array();
    var n_m_2 = new Array();
    ip_12 = ip1_2s.split("");
    ip_22 = ip2_2s.split("");
    n_m_2 = inm2s.split("");
    for (index = 0; index < len; index++) {
     if (n_m_2[index] == "1") {
      if (ip_12[index] != ip_22[index]) {
       alert("不在同一网段");
       return false;;
      }
     }
    }
    alert("在同一网段");
    return true;
   }
  </script>
 </HEAD>

 <BODY>
  <input name="Ip1" id="Ip1" maxlength=15>
  <br>
  <input name="Ip2" id="Ip2" maxlength=15>
  <br>
  <input name="netmask" id="netmask" maxlength=15>
  <input type="button" value="计算" onClick="checkSameNetMask( document.getElementById('Ip1').value , document.getElementById('Ip2').value , document.getElementById('netmask').value ); ">
 </BODY>

</HTML>

需要的朋友可以拿去参考。感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • javascript this用法小结

    this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascript中,由于 javascript的动态性(解释执行,当然也有简单的预编译过程),this的指向在运行时才确定.这个特性在给我们带来迷惑的同时也带来了编程上的 自由和灵活,结合apply(call)方法,可以使JS变得异常强大.2.变化的this 在JavaScript中,this通常指向的是我们正在执行的函数本身,或者是指向该函数所属的对象(运行时).当我们在页面中定义

  • javascript getElementById 使用方法及用法

    document.getElementById("link").href; document.getElementById("link").target; document.getElementById("img").src; document.getElementById("img").width; document.getElementById("img").height; document.getEl

  • javascript判断iphone/android手机横竖屏模式的函数

    查了不少资料,最后结论如下: 复制代码 代码如下: function orientationChange(){ switch(window.orientation) { case 0: // Portrait case 180: // Upside-down Portrait // Javascript to setup Portrait view break; case -90: // Landscape: turned 90 degrees counter-clockwise case 90

  • JavaScript中json对象和string对象之间相互转化

    json对象 复制代码 代码如下: var json = {aa:true,bb:true}; var json1 = {aa:'b',bb:{cc:true,dd:true}}; 1:js操作json对象 复制代码 代码如下: for(var item in json){ alert(item); //结果是 aa,bb, 类型是 string alert(typeof(item)); alert(eval("json."+item)); //结果是true,true类型是boole

  • Javascript Math ceil()、floor()、round()三个函数的区别

    下面来介绍将小数值舍入为整数的几个方法:Math.ceil().Math.floor()和Math.round(). 这三个方法分别遵循下列舍入规则: ◎Math.ceil()执行向上舍入,即它总是将数值向上舍入为最接近的整数: ◎Math.floor()执行向下舍入,即它总是将数值向下舍入为最接近的整数: ◎Math.round()执行标准舍入,即它总是将数值四舍五入为最接近的整数(这也是我们在数学课上学到的舍入规则). 下面是使用这些方法的示例: alert(Math.ceil(25.9))

  • JavaScript 获取当前时间戳的代码

    JavaScript 获取当前时间戳: 第一种方法: 复制代码 代码如下: var timestamp = Date.parse(new Date()); 结果:1280977330000 第二种方法: 复制代码 代码如下: var timestamp = (new Date()).valueOf(); 结果:1280977330748 以上代码将获取从 1970年1月1日午夜开始的毫秒数.二者的区别是,第一种方法的毫秒位上为全零,即只是精确到秒的毫秒数 如题所示,返回unix时间戳所对应的具体

  • JavaScript调试技巧之console.log()详解

    一.什么是console.log()?除了一些很老版本的浏览器,现今大多数浏览器都自带调试功能:即使没有调试功能,也可以通过安装插件来进行补充.比如,老版本的Firefox没有自带调试工具,在这种情况下可以通过安装Firebug插件来添加调试功能.在具备调试功能的浏览器上,window对象中会注册一个名为console的成员变量,指代调试工具中的控制台.通过调用该console对象的log()函数,可以在控制台中打印信息.比如,以下代码将在控制台中打印"Sample log": 复制代

  • eval(function(p,a,c,k,e,d)系列解密javascript程序

    步骤:1.新建html页面,把以下代码考进去,运行. 2.把加密的代码粘进文本域,点击解密,OK! 核心代码: 复制代码 代码如下: <script> a=62; function encode() { var code = document.getElementById('code').value; code = code.replace(/[\r\n]+/g, ''); code = code.replace(/'/g, "\\'"); var tmp = code.m

  • JavaScript window.setTimeout() 的详细用法

    js的setTimeout方法用处比较多,通常用在页面刷新了.延迟执行了等等.但是很多javascript新手对setTimeout的用法还是不是很了解.虽然我学习和应用javascript已经两年多了,但是对setTimeout方法,有时候也要查阅资料.今天对js的setTimeout方法做一个系统地总结. setInterval与setTimeout的区别 说道setTimeout,很容易就会想到setInterval,因为这两个用法差不多,但是又有区别,今天一起总结了吧! setTimeo

  • javascript jQuery $.post $.ajax用法

    jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求 参数: url (String) : 发送请求的URL地址. data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示. callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才是调用该方法). type (String) : (可选)官方的说明是:Type o

  • javascript:history.go()和History.back()的区别及应用

    复制代码 代码如下: <input type=button value=刷新 onclick="window.location.reload()"> <input type=button value=前进 onclick="window.history.go(1)"> <input type=button value=后退 onclick="window.history.go(-1)"> <input t

  • JavaScript 下拉菜单实现代码

    JavaScript下拉菜单 * { padding:0; margin:0; } body { font-family:verdana, sans-serif; font-size:small; } #navigation, #navigation li ul { list-style-type:none; } #navigation { margin:20px; } #navigation li { float:left; text-align:center; position:relati

随机推荐