validateMask.js源代码:
===================分隔符===================
/**
* 函数名: validateMask
* 函数功能: 验证子网掩码的合法性
* 函数作者: 236F(fuwei236#gmail.com)
* 传入参数: MaskStr:点分十进制的子网掩码(如:255.255.255.192)
* 主调函数:
* 调用函数: _checkIput_fomartIP(ip)
* 返回值: true: MaskStr为合法子网掩码
* false: MaskStr为非法子网掩码
**/
function validateMask(MaskStr)
{
/* 有效性校验 */
var IPPattern = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
if(!IPPattern.test(MaskStr))return false;
/* 检查域值 */
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 /* 每个域值范围0-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;
}
/**
* 函数名: _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>
<script src="validateMask.js"></script>
<script>
function test(MaskStr)
{
alert("IP地址为: "+ MaskStr + " 验证结果:" + validateMask(MaskStr));
}
</script>
</head>
<body>
<center>
<h1>子网掩码验证
</h1>
<input type="text" name="mask" id="mask" value="">
<input type="button" name="mytest" id="mytest" value="点击验证输入框中的值" onclick="test(mask.value)">
</center>
</body>
</html>
===================分隔符===================
留个记号,写得太复杂了。以后再修改修改,应该可以直接用正则表达式验证完成的。
分享到:
相关推荐
- 验证子网掩码合法性,确保其为有效的二进制表示且符合IP地址结构。 - 判断IP地址是否属于子网,执行IP地址与子网掩码的位与运算并与子网地址比较。 6. **进度安排**: - 第1周:明确任务,查找相关资料,小组...
1. **验证IP地址与子网掩码的合法性**:确保输入的IP地址和子网掩码格式正确,没有超出有效的范围。 2. **计算子网网络地址**:根据IP地址和子网掩码,计算出网络部分的值,即网络地址。 3. **计算子网广播地址**...
接着是验证子网掩码的JavaScript函数checkMask(mask)。在计算机网络中,子网掩码用于区分IP地址中的网络部分和主机部分。一个标准的子网掩码通常由四个八位的二进制数构成,对应的十进制表示形式也是由四个范围从0到...
这些类会包含方法,如IsIPAddressValid()用于验证IP地址的合法性,以及CalculateSubnet()用于根据给定的IP和子网掩码确定子网。源代码中的注释应该清晰地解释了每个函数和变量的作用,便于理解代码的工作原理。 总...
5. **验证IP和子网掩码**:检查输入的IP地址和子网掩码是否合法,避免在配置网络时出现错误。 6. **CIDR到子网掩码转换**:输入CIDR记法,计算器能将其转换为传统的子网掩码形式。 7. **网络掩码优化**:在需要...
5. 输出所有验证结果,包括 IP 地址和掩码的合法性以及 IP 地址是否属于指定子网。 #### 三、技术方案 为了实现以上功能,我们可以采用以下技术方案: 1. **输入处理**:使用 `Scanner` 类读取命令行参数。 2. **...
子网掩码计算器是一款在网络管理员和IT专业人员中极为实用的工具,它的主要功能是协助用户计算和处理IP地址和子网掩码的相关问题。在理解这款软件的重要性之前,我们首先需要了解一些基本的网络概念。 IP地址是...
从上述描述中,就可以看到有很多朋友会犯的一个错误,就是把192开头的IP地址设置成B类地址,虽然说在局域网中的网络通讯并不会受到影响,但事实上是不规范的一种划分行为。
在代码中,`IpTest`类还提供了`subnetIsValid`函数来验证子网掩码的合法性。这个函数会检查子网掩码是否符合标准格式,即一个介于0到32之间的整数,表示掩码中连续的1的位数。 ### 判断IP地址是否属于特定子网 ...
在互联网技术中,网络配置参数的...通过本篇文章的内容,您应该已经了解了如何使用JavaScript和正则表达式来验证IP地址、子网掩码、网关和MAC地址的正确性。这种方式在前端界面验证和网络配置工具中非常常见和有用。
此函数内部调用getSubNet()计算子网分配,getMask()将十进制掩码转换为IP地址格式,同时isValid()和isValidMask()确保输入的IP地址和子网掩码合法。 在调试阶段,我们发现输入的IP地址和子网掩码可能存在空格问题,...
JavaScript中校验IP地址和子网掩码合法性的方法通常使用正则表达式来实现。对于IP地址,可以使用正则表达式来匹配每一段数字的合法性,确保其为0到255之间的数。对于子网掩码,也可以使用类似的正则表达式来限制子网...
IP地址的合法性验证与子网判断是网络编程中常见的任务,特别是在实现网络服务、网络安全和网络管理等场景下。本篇文章将深入探讨如何使用Java语言来判断一个IP地址的合法性,并进行子网判断。 首先,我们来理解IP...
同时,需要对IP地址和子网掩码的合法性进行预检查,确保它们都是有效的。 通过这个课程设计的程序,学生可以深入理解IP地址的工作原理以及如何在实际代码中实现网络相关的计算。这不仅锻炼了编程能力,也有助于理解...
总结,IP地址的合法性及子网判断是一项重要的网络基础工作,涉及到IP地址的分类、子网掩码的运用以及位运算。通过实践,学生能更好地理解和掌握这些概念,并能够运用到网络管理、路由配置等实际场景中。
3. **验证子网掩码格式**:同样检查子网掩码是否符合规范。 4. **解析IP地址**:将IP地址分解为网络标识和主机标识。 5. **应用子网掩码**:使用子网掩码来进一步确定网络地址和主机地址。 6. **判断同一子网**:...
代码部分可能实现了IP地址的合法性验证函数,以及根据IP地址和子网掩码计算网络地址的函数。这些功能通常使用编程语言如C++(如标签所示)实现,可能包括字符串处理、位操作等技术。代码可能还包含了错误处理机制,...
可以编写函数来验证IP地址的格式,然后利用位运算检查IP地址与子网掩码的匹配情况。例如,可以将IP地址和子网掩码转换为整数,然后进行按位与运算,以确定IP地址是否落在指定的子网范围内。 通过这样的实验,学生...
计算机网络课程设计中,IP地址的合法性及子网判断是一个重要的实践环节,旨在让学生深入理解IP地址的结构、子网掩码的概念以及如何判断IP地址是否属于特定子网。在这个项目中,学生需要使用Java编程语言,利用...