`
yisouu
  • 浏览: 5260 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

JavaScript实现子网掩码合法性验证

阅读更多
一、原理

子网掩码的合法性简单来讲也就是子网掩码就类似这样一串数字,前面一段是连续的1,类似“111111111”,后面一段是连续的0,类似“00000”,这样合法的样子是“11111111000000000”,总共是32位。

    一个合法的子网掩码要满足如下条件:
 1、是合法的IP地址
 2、二进制码要相邻,即形如111...11000...0的形式
 3、与IP地址对应,A、B、C、D各类IP地址都有对应的掩码范围(以后再讨论)

二、实现方法

1、判断方法

根据以上的原理,可以用下面的方法进行子网掩码合法性进行判断:查找子网掩码字符串中的子串“01”,若查不到子网掩码就是合法的,否则是不合法的

2、JavaScript代码实现


<html>
<head>
<title>子网掩码验证</title>
</head>
<body>
<center>
    <h1>子网掩码验证</h1>
    <input type="text" name="mask" id="mask" value=""/>
    <input type="button" name="mytest" id="mytest" value="check_value" onClick="test()"/>
</center>

<script>
function _checkIput_fomartIP(ip)
{
    return (ip+256).toString(2).substring(1); //格式化输出(补零)
}

function validateMask(MaskStr)
{
    var IPArray = MaskStr.split(".");
    var ip1 = parseInt(IPArray[0]);
    var ip2 = parseInt(IPArray[1]);
    var ip3 = parseInt(IPArray[2]);
    var ip4 = parseInt(IPArray[3]);

    if ((ip1 < 0 || ip1 > 255) || (ip2 < 0 || ip2 > 255) || (ip3 < 0 || ip3 > 255) || (ip4 < 0 || ip4 > 255))     
       {
           return false;
    }

    var ip_binary = _checkIput_fomartIP(ip1) + _checkIput_fomartIP(ip2) + _checkIput_fomartIP(ip3) + _checkIput_fomartIP(ip4);

    if(-1 != ip_binary.indexOf("01"))
        {
        return false;
    }

    return true;
}

function test()
{
    var MaskStr = document.getElementById("mask").value
   
    if(validateMask(MaskStr))
    {
        var str = "合法!"
    }
    else
    {
        var str = "非法!"
    }

    alert("子网掩码为: "+ MaskStr + " 验证结果:" + str);
}

</script>
</body>
</html>
在实际工作当中,还会有其它方法,比如正则表达式等。
分享到:
评论

相关推荐

    子网掩码计算器下载/子网掩码计算器单机版--亲测好用

    子网掩码计算器下载/子网掩码计算器单机版--亲测好用 子网掩码计算器下载/子网掩码计算器单机版--亲测好用 子网掩码计算器下载/子网掩码计算器单机版--亲测好用 子网掩码计算器下载/子网掩码计算器单机版--亲测好用 ...

    子网掩码计算java实现方法

    实现通过ip地址和子网掩码位数计算得出子网段的ip地址范围

    子网掩码子网掩码计算器

    - 检查IP地址和子网掩码的正确性,防止网络冲突。 - 确定网络的可用主机数和广播地址。 6. 压缩包中的文件: 提到的文件如"SubNetMaskCalc.exe"、"算子网掩码.exe"、"NetMask.exe"、"子网掩码计算器.exe"和...

    子网掩码是什么?子网掩码的作用

    ### 子网掩码详解及作用 ...通过对子网掩码的理解和应用,网络管理员能够更加灵活地规划和构建网络,同时也能提高网络的稳定性和安全性。随着互联网技术的不断发展,子网掩码的应用也在不断扩展和完善。

    子网掩码计算工具计算工具子网掩码计算工具子网掩码计算工具

    子网掩码是网络协议中的一个重要概念,它在IP地址分配和网络划分中起到关键作用。在IPv4系统中,每个IP地址由32位组成,分为网络...利用专门的计算工具,我们可以更高效地进行子网划分,确保网络配置的准确性和有效性。

    子网及子网掩码PPT学习教案.pptx

    子网的划分可以通过子网掩码来实现。例如,一个 IP 地址为 172.16.2.160,子网掩码为 255.255.0.0,则可以将其划分为两个子网:172.16.2.0 和 172.16.3.0。 子网掩码的计算 子网掩码的计算可以通过与 IP 地址进行 ...

    c语言实现ipv4规则检测,子网掩码规则检测

    c语言实现ipv4规则检测,子网掩码在检测时加入特殊的处理方法,检测合法性

    子网掩码计算器合集

    4. 验证计算结果:确保新生成的子网掩码与预期的网络结构一致,并验证没有产生无效或冲突的地址。 总的来说,这个“子网掩码计算器合集”对于网络管理员、IT专业人员以及学习网络技术的人来说是一个实用的工具包,...

    C语言子网掩码计算程序(源代码)

    用C语言实现的一个简单的子网掩码计算程序,先输入网段地址,再输入要分的子网数量,程序以点分二进制输出子网掩码。

    子网掩码子网划分

    此外,子网掩码还用于实现网络的细分,即将较大的网络进一步划分为多个较小的子网。这种划分有助于防止网络拥堵,同时也可以更高效地利用IP地址资源,避免IP地址的浪费。 #### 二、子网掩码的使用原因 子网掩码之...

    子网掩码计算器(支持IPV6,支持31位掩码)

    子网掩码计算器是一款强大的网络计算工具,特别针对IPV4和IPV6两种网络协议进行设计,旨在帮助网络管理员和IT专业人士更有效地管理和规划网络。这款计算器支持31位子网掩码,使得在处理特定网络配置时更加灵活。 在...

    网络知识子网掩码计算

    子网掩码的全称是“子网网络掩码”,它与IP地址一起工作,帮助我们识别网络部分和主机部分,从而实现网络划分和有效的IP地址管理。 子网掩码的基本形式是一个32位的二进制数,通常与IP地址并列显示,每个位置对应于...

    子网掩码计算器(IPSubnetter) v1.2

    子网掩码计算器 利用子网数来计算。 1.首先,将子网数目从十进制数转化为二进制数; 2.接着,统计得到的二进制数的位数,设为N; 3.最后,先求出此IP地址对应的地址类别的子网掩码。再将求出的子网掩码的主机地址部分...

    子网掩码换算工具.rar

    - NetMask.exe:可能是一个图形界面的应用程序,允许用户输入IP地址和子网掩码,或者反之,进行转换和验证。 - subnet10.exe:可能同样提供类似的子网掩码计算功能,可能专注于10类IP地址的子网划分,或者包含更...

    子网掩码计算器(保证是你见过的最好的支持IPV6)

    5. **验证IP和子网掩码的正确性**:用户可以输入IP和子网掩码,工具会检查它们是否匹配,并指出可能的错误。 6. **教学与学习辅助**:对于学生或初学者,这个计算器是一个很好的学习工具,可以帮助理解子网掩码的...

    子网掩码计算器.rar

    4. **验证IP和子网掩码的匹配**:计算器可以检查输入的IP地址和子网掩码是否匹配,确保网络配置的正确性。 5. **CIDR表示法转换**:CIDR(无类别域间路由)是IP地址的一种表示方式,如192.168.1.0/24。子网掩码...

    IP地址与子网掩码的学习心得

    "IP地址与子网掩码的学习心得" 在计算机网络中,IP地址和子网掩码是两个非常重要的概念,了解它们之间的关系是非常必要的。本文将从IP地址和子网掩码的学习心得开始,对IP地址和子网掩码的概念进行详细的解释。 ...

    C# 子网掩码计算程序

    在IT领域,子网掩码是网络管理员和程序员在处理IP网络时不可或缺的工具。...开发者通过编写代码实现了IP地址与子网掩码的逻辑运算,并以直观的方式呈现结果,对学习网络和C#编程都有很好的教育意义。

Global site tag (gtag.js) - Google Analytics