`

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地址的合法性以及子网掩码判断的代码

    从上述描述中,就可以看到有很多朋友会犯的一个错误,就是把192开头的IP地址设置成B类地址,虽然说在局域网中的网络通讯并不会受到影响,但事实上是不规范的一种划分行为。

    JS验证IP,子网掩码,网关和MAC的方法

    主要介绍了JS验证IP,子网掩码,网关和MAC的方法,涉及javascript正则表达式的相关使用技巧,需要的朋友可以参考下

    安卓串口Socket通讯USB驱动jni相关-android获取wifi的IP子网掩码网关dns等信息.rar

    android获取wifi的IP,子网掩码,网关,dns等信息.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    计算机网络实验指导书6

    实验一、数通实验平台基本操作 1、实验目的 通过本实验,让学生了解数通实验平台仿真软件eNSP的使用方法,熟悉利用交换机构造小规模局域网络的方法。...(2)配置终端的IP地址和子网掩码; (3)测试连通性。

    实验一、数通实验平台基本操作

    实验一、数通实验平台基本操作 1、实验目的 通过本实验,让学生了解数通实验平台仿真软件eNSP的使用方法,熟悉利用交换机构造小规模局域网络的方法。...(2)配置终端的IP地址和子网掩码; (3)测试连通性。

    IPControl.rar

    一个很好用的输入IP地址和mac地址的自定义控件,可以用来输入IP地址、子网掩码、域名、以及mac地址,有输入验证。

    计算机网络实验报告和课程设计1

    配置主机的IP地址、子网掩码和网关3. 验证连通性4. 查看数据包传输过程5. 查看协议数据包的格式三、实验步骤1. 搭建实验书中图1-2的拓扑结构利用1台2811路由器、1台 2960交换机、2台PC和1台Server互连组建一个小型...

    linux虚拟机配置静态IP地址的完整步骤

    前言 在很多时候我们都会用到虚拟机,比如一些测试没检测,练习的东西可以在虚拟机上,不必担心会搞坏什么,本文主要给...GATEWAY对应子网掩码 获取地址的地方.png 然后esc推出编辑模式,输入:wq保存 3.验证连接

    计算机网络实验二、以太网帧的构成

    (2)配置终端的IP地址和子网掩码; (3)放置一台路由器,连接两台交换机; (4)配置路由器; (5)从一号网络的client2,ping二号网络的client3,测试不同网络的连通性; (6)抓包,分析以太网帧结构。 5、实验...

    202001Internet协议分析实验报告(第1天).docx

    第1部分 数据链路层(3个任务) 实验6 典型数据链路与访问控制 练习二 MAC帧编辑与分析 任务二 理解MAC地址的...练习二 子网掩码与特殊IP地址分析 任务一 子网掩码作用验证 练习三 IP数据报分片 任务一 IP数据报分片

    DHCP服务器的配置与验证.doc

    虚拟机上DHCP服务器的配置与验证 一、实验目的 1.了解DHCP的基本概念和服务器的新特性 2.掌握DHCP服务器的安装与配置 3....当客户机初次访问 网络时,DHCP服务器会自动为其分配IP地址、子网掩码、首先DNS服务

    Cisco Packet Tracer 6.0 (解压后在bin文件夹中打开PacketTracer6.exe直接使用)

    用户可以使用不同的命令来配置这些设备的各种参数,如IP地址、子网掩码、路由表等。 通过 Packet Tracer,用户可以模拟整个网络的运行,并观察数据包在网络中的传输情况。此外,Packet Tracer 还提供了一些实用工具...

    USR-TCP232 是串口调试工具及网络TCP调试工具二合一

    配置设备参数: 该软件通常允许用户配置 USR-TCP232 设备的网络参数,如IP地址、子网掩码、网关等。用户可以使用软件来设置设备的网络连接信息,以便设备能够正确连接到局域网或互联网。 测试通信功能: USR-TCP232...

    NA学习笔记第一、二章 TCP/IP简介

    第一、二章 TCP/IP简介 数据封装的顺序:data segment packet frame bit ICMP 因特网控制报文协议:工作在网络层,能为主机提供有关网络故障的信息... 每个子网一个ID号,每个广域网连接一个网络号 ——确定子网掩码

    javascript实现验证IP地址等相关信息代码

    本文给大家分享的是一组判断IP地址是否合法,判断子网掩码是否合法,验证输入的网关地址是否合法的javascript代码,十分的简单实用,有需要的小伙伴可以参考下。

    实验报告——实验一:NAT配置.doc

    实验过程和主要步骤 子网的划分与子网掩码的配置: "设备 "接口 "IP地址 "子网掩码 " "PC0 "F "192.168.3.1 "255.255.255.0 " "PC1 "F "192.168.2.1 "255.255.255.0 " "Router0 "F0/0 "192.168.3.2 "255.255.255.0 ...

    Cisco培训教材(中文版)

    8.7.3 验证和监视AppleTalk的配置 194 8.8 认证总结 195 8.9 2分钟练习 196 8.10 自我测试 196 第9章 用访问列表管理基本通信量 205 9.1 认证目标 9.01:标准IP访问列表 205 9.2 认证目标 9.02:扩展IP访问...

    CCNA工程师认证考试官方教材

    8.7.3 验证和监视AppleTalk的配置 194 8.8 认证总结 195 8.9 2分钟练习 196 8.10 自我测试 196 第9章 用访问列表管理基本通信量 205 9.1 认证目标 9.01:标准IP访问列表 205 9.2 认证目标 9.02:扩展IP访问列表 210 ...

    CCNA学习指南(pdf).zip

    8.7.3 验证和监视AppleTalk的配置 194 8.8 认证总结 195 8.9 2分钟练习 196 8.10 自我测试 196 第9章 用访问列表管理基本通信量 205 9.1 认证目标 9.01:标准IP访问列表 205 9.2 认证目标 9.02:扩展IP访问...

    CCNA考试指南 内容很丰富

    8.7.3 验证和监视AppleTalk的配置 194 8.8 认证总结 195 8.9 2分钟练习 196 8.10 自我测试 196 第9章 用访问列表管理基本通信量 205 9.1 认证目标 9.01:标准IP访问列表 205 9.2 认证目标 9.02:扩展IP访问列表 210 ...

Global site tag (gtag.js) - Google Analytics