`

IP地址和子网掩码的验证

 
阅读更多

/**
*函数名:validateMask
*函数功能:验证子网掩码的合法性
*函数作者:236F(fuwei236#gmail.com)
*传入参数:MaskStr:点分十进制的子网掩码(如:255.255.255.192)
*主调函数:
*调用函数:_checkIput_fomartIP(ip)
*返回值:true:MaskStr为合法子网掩码
*false:MaskStr为非法子网掩码
**/

functionvalidateMask(MaskStr)
{
/*有效性校验*/
varIPPattern=/^/d{1,3}/./d{1,3}/./d{1,3}/./d{1,3}$/
if(!IPPattern.test(MaskStr))returnfalse;

/*检查域值*/
varIPArray=MaskStr.split(".");
varip1=parseInt(IPArray[0]);
varip2=parseInt(IPArray[1]);
varip3=parseInt(IPArray[2]);
varip4=parseInt(IPArray[3]);
if(ip1<0||ip1>255/*每个域值范围0-255*/
||ip2<0||ip2>255
||ip3<0||ip3>255
||ip4<0||ip4>255)
{
returnfalse;
}

/*检查二进制值是否合法*/
//拼接二进制字符串
varip_binary=_checkIput_fomartIP(ip1)+_checkIput_fomartIP(ip2)+_checkIput_fomartIP(ip3)+_checkIput_fomartIP(ip4);

if(-1!=ip_binary.indexOf("01"))returnfalse;
returntrue;
}


/**
*函数名:_checkIput_fomartIP
*函数功能:返回传入参数对应的8位二进制值
*函数作者:236F(fuwei236#gmail.com)
*传入参数:ip:点分十进制的值(0~255),int类型的值,
*主调函数:validateMask
*调用函数:无
*返回值:ip对应的二进制值(如:传入255,返回11111111;传入1,返回00000001)
**/
function_checkIput_fomartIP(ip)
{
return(ip+256).toString(2).substring(1);//格式化输出(补零)
}

===================分隔符===================

测试页面test.htm

===================分隔符===================
<html>
<head>
<title></title>
<scriptsrc="validateMask.js"></script>
<script>
functiontest(MaskStr)
{
alert("IP地址为:"+MaskStr+"验证结果:"+validateMask(MaskStr));
}
</script>
</head>
<body>
<center>
<h1>子网掩码验证
</h1>
<inputtype="text"name="mask"id="mask"value="">
<inputtype="button"name="mytest"id="mytest"value="点击验证输入框中的值"onclick="test(mask.value)">
</center>
</body>
</html>

==============

//验证ip有效性
function validateip(ip) {
var result = false;
if (!(/^(/d{1,3})(/./d{1,3}){3}$/.test(ip))){
return false;
}
var reSpaceCheck = /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
var validip = ip.match(reSpaceCheck);
if (validip != null) {
result = true;
}
return result;
}

//验证子网掩码有效性
function validateNetMast(netmask) {
var result = false;
if (!(/^(/d{1,3})(/./d{1,3}){3}$/.test(netmask))){
return true;
}
var reSpaceCheck = /^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)/.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
var validip = netmask.match(reSpaceCheck);
if (validip != null) {
var mask_binary = conversionBinary(netmask);
if(-1 != mask_binary.indexOf("01")){
result = true;
}
} else {
result = true;
}
return result;
}

分享到:
评论

相关推荐

    子网掩码IP计算器 子网掩码IP计算器

    1. **验证IP地址与子网掩码的合法性**:确保输入的IP地址和子网掩码格式正确,没有超出有效的范围。 2. **计算子网网络地址**:根据IP地址和子网掩码,计算出网络部分的值,即网络地址。 3. **计算子网广播地址**...

    android获取wifi的IP,子网掩码,网关,dns等信息

    总之,在Android开发中,通过`WifiManager`和`DhcpInfo`类,我们可以轻松地获取到WiFi网络的IP地址、子网掩码、网关和DNS信息,从而更好地理解和管理网络环境。对于需要处理网络功能的应用来说,这些都是不可或缺的...

    子网掩码计算器.zip

    5. **地址有效性检查**:计算器可以验证输入的IP地址和子网掩码是否有效,避免在规划过程中出现错误。 6. **学习资源**:对于初学者来说,计算器可能还包含一些基本的网络概念解释和示例,帮助用户更好地理解和掌握...

    子网掩码计算器.rar

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

    子网掩码换算工具.rar

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

    计算子网掩码的工具

    子网掩码是网络协议的重要组成部分,主要用于标识网络部分和主机部分,在IP地址的划分中起到关键作用。本文将深入探讨子网掩码的计算及其在网络中的应用,并介绍一款名为"子网掩码计算器"的工具,帮助我们更便捷地...

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

    3. **CIDR表示法转换**:CIDR(无类别域间路由)是一种将IP地址和子网掩码结合在一起的表示方法,计算器能够处理CIDR记法,并转换为常规的IP和子网掩码形式。 4. **网络规划**:对于大型网络,子网掩码计算器可以...

    还算不错的子网掩码计算器,支持反向掩码验证 bosncalc

    子网掩码计算器是网络管理员和IT专业人员常用的工具,用于计算和验证IP地址与子网掩码的关系,以及进行网络划分。"bosncalc"是一款这样的计算器,它具有反向掩码验证功能,这对于配置路由器访问控制列表(ACL)尤其...

    网络知识子网掩码计算

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

    子网及掩码计算器--两个经典绿色工具

    掩码计算器则专注于IP地址与子网掩码之间的转换,包括将十进制IP地址和子网掩码转换为二进制,或者反过来。这对于理解网络结构和配置网络设备至关重要。"子网掩码计算器.exe"可能提供了便捷的接口,用户只需输入十...

    小巧的子网掩码计算工具

    子网掩码计算工具是网络管理员和IT从业者日常工作中不可或缺的辅助软件,尤其对于网络IP地址的规划和管理至关重要。这款“小巧的子网掩码计算工具”以其简洁的界面和直观的操作,使得复杂的子网掩码计算变得轻松易行...

    子网掩码计算器(5个)

    3. 验证IP地址和子网掩码是否匹配,防止配置错误。 4. 计算给定子网下的可用主机数。 5. 进行子网划分,探索不同子网的可能组合。 标签"子网掩码 计算器"进一步明确了讨论的主题,即工具的类型和用途,针对的是对...

    子网掩码计算器合集

    子网掩码是网络协议中的一个重要概念,它在IP地址分配和网络划分中起到关键作用。这个压缩包“子网掩码计算器合集”显然包含了五种不同的子网掩码计算工具,为用户提供了多种选择,以满足他们在进行网络规划和管理时...

    子网掩码工具

    5. **验证IP和掩码**:检查输入的IP地址和子网掩码是否匹配,确保网络配置正确。 使用子网掩码工具,网络管理员可以快速地解决日常网络规划和调试中的问题,避免手动计算可能导致的错误。对于初学者来说,这样的...

    子网掩码计算器

    4. **验证IP地址和子网掩码的正确性**:计算器可以帮助检查输入的IP地址和子网掩码是否匹配,防止网络配置错误。 5. **CIDR(Classless Inter-Domain Routing)转换**:子网掩码还可以用CIDR表示法来描述,如/24...

    子网掩码计算器ha——bosncalc

    5. **网络验证**:检查IP地址和子网掩码是否匹配,防止配置错误。 使用这个计算器,网络管理员可以轻松地进行以下操作: - 在有限的IP地址空间内创建更多的子网,以满足不断增长的网络设备需求。 - 确保IP地址的...

    子网掩码下载器

    - 可能包含IP地址和子网掩码的验证功能,防止输入错误。 - 可能提供多语言界面,便于不同地区的用户使用。 - 可能支持批量计算或保存结果,方便进行网络规划。 总的来说,子网掩码下载器是网络管理工作中不可或缺的...

Global site tag (gtag.js) - Google Analytics