C#验证子网掩码的正确性
1. IP合法关于IP地址的合法性验证很简单,方法也很多,比如字符串分解、正则表达式等。
2. 子网掩码是否合法简单来讲,子网掩码就类似这样一串数字,前面一段是连续的1, 类似“111111111”,后面一段是连续的0,类似“00000”,这样合法的样子是“11111111000000000”,总共是32位。
一个合法的子网掩码要满足如下条件:1、是合法的IP地址2、二进制码要相邻,即形如111……11000……0的形式3、与IP地址对应,A、B、C、D各类IP地址都有对应的掩码范围
原理很简单,任何int数字都可以换成8位二进制0,1表示如 1是 0000 0001, ip地址有4个小于256的数字组成,这样组成32位0,1的二进制数据。其中,这32位0,1数字以1开头,并且一旦出现0,后面就不能再出现1了,即1和0的出现都是连续的才是合法的,如此可以一个个字节的判断1后面出现0后是不是就全是0了。
下面给出子网掩码的合法性判断:
public bool checkMask(string mask) {string[] vList = mask.Split('.'); if (vList.Length != 4) return false; bool vZero = false; // 出现0 for (int j = 0; j < vList.Length; j++) {int i;if (!int.TryParse(vList[j], out i)) return false;if ((i < 0) || (i > 255)) return false;if (vZero){if (i != 0) return false;}else{ for (int k = 7; k >= 0; k--){if (((i >> k) & 1) == 0) // 出现0 {vZero = true;}else{if (vZero) return false; // 不为0 }}} }return true; }
转载于:https://www.cnblogs.com/jhlong/p/5501482.html
C#验证子网掩码的正确性相关推荐
- ADI官方源码快速搭建demo工程验证设计的正确性
目录 1 ADI官方demo工程设计简介 2 ADI官方HDL源码介绍 2.1 HDL源码用户指导书:ADI Reference Designs HDL User Guide 2.2 C源代码下 ...
- php 子网掩码正则,验证子网掩码正则表达式代码范例
验证子网掩码正则表达式代码实例:在实际应用中可能验证子网掩码合法性的需求并不多,但并不能够保证绝对没有,下面就分享一段能够实现此功能的代码实例,希望能够给需要的朋友带来一定的帮助,代码如下: func ...
- 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)
普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...
- mysql验证配置_详解MySQL|教你一招如何自动验证 MySQL 配置正确性
升级 MySQL 版本之后,许多用户在启动时并未更改配置文件,但发现新的的版本不再支持某些已弃用的选项,这会导致升级的 MySQL 服务关闭.在其他情况下,修改配置文件时错误输入无效的配置项会使得服务 ...
- java案例--根据规则验证身份证号码正确性
import java.util.Scanner;public class Test {public static void main(String[] args) {Scanner sc ...
- 正则表达式验证身份证号以及验证校验位的正确性
需求:给定一个字符串,从中提取出身份证号 关于验证15位和18位身份证号的正则表达式可以参考下面的内容: http://www.cppcns.com/wangluo/re/183062.html 一. ...
- js 验证身份证号码正确性
今天找半天js验证身份证的,从网上找了很多,自己也总结了一下,在此记录,以便以后使用查询方便,也供大家参考. 代码如下,可直接用 function isIdCardNo(num) { num = nu ...
- 利用GUID/UUID生成token及验证token的正确性
本来有JWT这种生成token验证的强大工具,但有时考虑到项目的实际需求,会利用GUID/UUID来生成token,当然GUID/UUID能生成很多具有唯一性的验证结果,所以这里主要记录下GUID/U ...
- Python 验证身份证的正确性并获得相关的信息
问题描述:输入身份证号,校验身份证号正确与否,不正确给予友情提示, 正确请获得该身份证号对应的是那个省或者直辖市的,出生日期,以及性别 关于身份证验证的相关方法,参考百度经验 链接:戳这里 pytho ...
最新文章
- 数字资产云交易所搭建开发平台,云交易的优势在哪?
- OpenCV的示例程序在哪里?
- 三种活体检测方式分析
- 价值6.11亿美元的入侵工具无人问津
- xieshiran:使用 R 语言开发评分卡模型
- 卸料装置弹性零件的计算方法_冲裁模卸料板的设计
- jieba分词并做分析
- 统计字符数(信息学奥赛一本通-T1187)
- Cloud Prizefight: OpenStack vs. VMware(转)-HA-FT
- 用户界面和兼容性测试
- VNPY2.0火币期货交易接口配置使用
- mybatis数据库连接池介绍和源码剖析
- linux下用C计算某一个目录总大小
- java数据结构的面试题_Java面试题——数据结构篇(持续更新中)
- layui表单验证必填;下拉列表必填;xmselect必填;layui vue下拉列表必填
- SEO人员,如何搭建你的网站基础框架?
- 迅雷漫画下载工具II beta3 v1.2.3.204
- C语言:十进制、BCD码互换
- android常用快捷键大全,AndroidStudio 快捷键使用总结大全
- python中字节(bytes)是如何转换成整型(long)的?