-
如何判断IP地址是否合法
2017-09-22 09:53:15如何判断一个IP地址是否合法,以及如何判断一个IP地址...判断IP地址是否合法: bool isValidIP(char *ip) { if (ip == NULL) return false; char temp[4]; int count = 0; while (true) { int index = 0;如何判断一个IP地址是否合法,以及如何判断一个IP地址是否在给定的IP地址范围内,废话不多说,上代码
判断IP地址是否合法:
bool isValidIP(char *ip) { if (ip == NULL) return false; char temp[4]; int count = 0; while (true) { int index = 0; while (*ip != '\0' && *ip != '.' && count < 4) { temp[index++] = *ip; ip++; } if (index == 4) return false; temp[index] = '\0'; int num = atoi(temp); if (!(num >= 0 && num <= 255)) return false; count++; if (*ip == '\0') { if (count == 4) return true; else return false; } else ip++; } }
判断一个IP地址是否在给定的IP地址范围内:
bool IsIpInner(string strDesIp, string strBegin, string strEnd) { char* tempDesIp = const_cast<char*>(strDesIp.c_str()); char* tempBegin = const_cast<char*>(strBegin.c_str()); char* tempEnd = const_cast<char*>(strEnd.c_str()); if (isValidIP(tempDesIp) && isValidIP(tempBegin) && isValidIP(tempEnd)) { unsigned long lDesIp = GetIpInt(strDesIp); unsigned long lBegin = GetIpInt(strBegin);; unsigned long lEnd = GetIpInt(strEnd);; return (((lDesIp >= lBegin) && (lDesIp <= lEnd)) || ((lDesIp <= lBegin) && (lDesIp >= lEnd))); } else return false; }
其中GetIpInt(string strIp)是将IP地址转化为可比较大小的整形数,如下:unsigned long GetIpInt(string strIp) { char* tempIp = const_cast<char*>(strIp.c_str()); char *next_token = NULL; char* ch1 = strtok_s(tempIp, ".", &next_token); char* ch2 = strtok_s(NULL, ".", &next_token); char* ch3 = strtok_s(NULL, ".", &next_token); char* ch4 = strtok_s(NULL, ".", &next_token); unsigned long a = stoi(ch1); unsigned long b = stoi(ch2); unsigned long c = stoi(ch3); unsigned long d = stoi(ch4); return a * 255 * 255 * 255 + b * 255 * 255 + c * 255 + d; }
-
python判断ip地址是否合法_python如何判断IP地址合法性
2020-11-29 11:35:55互联网上的每台计算机都有独一无二的编号,称为IP地址,每个合法的IP地址由“.”分开的4个数字组成,并且IP地址细分类型的话,...现在用户输入一个字符串(不含有空格)判断是否合法。import os,sysa=input()def ch...互联网上的每台计算机都有独一无二的编号,称为IP地址,每个合法的IP地址由“.”分开的4个数字组成,并且IP地址细分类型的话,可以分为“A” “B” “C” "D" "E"类,我们常常使用的是C类IP地址所以第一个数字组成开头不能含有“0”,因为那是A类IP地址专属的,好奇的朋友可以去查查哦。
现在用户输入一个字符串(不含有空格)判断是否合法。
import os,sys
a=input()
def check_ip(ip):
import sys
sc=ip.strip().split('.')
if len(sc)!= 4:
print( "check ip address failed!")
sys.exit()
for i in range(4):
b=len(sc[i])
c=sc[i]
for j in range(b):
if c[j]==" ":
print ("check ip address failed!")
sys.exit()
j+=1
try:
sc[i]=int(sc[i])
except:
print ("check ip address failed!")
sys.exit()
if sc[i]<=255 & sc[i]>=0:
pass
else:
print ("check ip address failed!")
sys.exit()
i+=1
else:
print ("check ip address success!")
if len(sys.argv)!=2:
print ("Example: %s 10.0.0.1 "%sys.argv[0] )
sys.exit()
else:
check_ip(sys.argv[1])
print(check_ip(a))
以上代码我个人觉得是比较简单易懂的方法,当然用的时候要注意复制过后的每行空格格式。因为PYTHON的空格是抓的非常的严格的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
-
如何用C语言判断ip地址是否合法 用inet addr有问题
2018-11-18 03:38:47如何用C语言判断ip地址是否合法 用inet addr有问题分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
对ip地址进行判断, 可以用很多方法, 比如正则表达式和直接解析法。 但是, 并不是所有的朋友都会正则表达式, 直接解析法则繁琐易错。 下面, 我们换一个思路, 看看如何判断ip地址的合法性(其实这个程序有问题):
#include <stdio.h>#include <winsock2.h>#pragma comment(lib, "ws2_32.lib")int isValidIP(char *ip){ if(INADDR_NONE == inet_addr(ip)) { return -1; } return 1;}int main(){ char ips[][100] = { "123.456.789.1", "116.1.1.29", "119.x.1.11", "172.18.18.29", "-1.1.1.1", "0.0.0.0", "255.255.255.255", "10.85.168.40", "256.1.1.1", "127.0.0.1", "1.1. 1.1", "190.190.190.190", "1.1.1", // 这个被误判为合法的了 "119.1.1.1", "" // 这个被误判为合法的了 }; int size = sizeof(ips) / sizeof(ips[0]); int i = 0; for(i = 0; i < size; i++) { if(-1 == isValidIP(ips[i])) { printf("no\n"); } else { printf("yes\n"); } } return 0;}
结果:
123.456.789.1--->no
116.1.1.29--->yes
119.x.1.11--->no
172.18.18.29--->yes
-1.1.1.1--->no
0.0.0.0--->yes
255.255.255.255--->no
10.85.168.40--->yes
256.1.1.1--->no
127.0.0.1--->yes
1.1. 1.1--->no
190.190.190.190--->yes
1.1.1--->yes
119.1.1.1--->yes
--->yes可以看到, 上述程序是有问题的,那怎么办呢? 我们先判断一下字符串中的点的数目吗? 即便如此, 我们怎么知道不存在其他问题呢? 我以前以为inet_addr是判断ip是否合法的好方法, 没想到存在问题。
所以, 还是老实一点, 用sscanf吧。 如果大家如果大家有好的方法, 欢迎分享。给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
-
判断ip地址的合法性python_python如何判断IP地址合法性
2020-12-10 20:30:16互联网上的每台计算机都有独一无二的编号,称为IP地址,每个合法的IP地址由“.”分开的4个数字组成,并且IP地址细分类型的话,...现在用户输入一个字符串(不含有空格)判断是否合法。import os,sysa=input()def ch...互联网上的每台计算机都有独一无二的编号,称为IP地址,每个合法的IP地址由“.”分开的4个数字组成,并且IP地址细分类型的话,可以分为“A” “B” “C” "D" "E"类,我们常常使用的是C类IP地址所以第一个数字组成开头不能含有“0”,因为那是A类IP地址专属的,好奇的朋友可以去查查哦。
现在用户输入一个字符串(不含有空格)判断是否合法。
import os,sys
a=input()
def check_ip(ip):
import sys
sc=ip.strip().split('.')
if len(sc)!= 4:
print( "check ip address failed!")
sys.exit()
for i in range(4):
b=len(sc[i])
c=sc[i]
for j in range(b):
if c[j]==" ":
print ("check ip address failed!")
sys.exit()
j+=1
try:
sc[i]=int(sc[i])
except:
print ("check ip address failed!")
sys.exit()
if sc[i]<=255 & sc[i]>=0:
pass
else:
print ("check ip address failed!")
sys.exit()
i+=1
else:
print ("check ip address success!")
if len(sys.argv)!=2:
print ("Example: %s 10.0.0.1 "%sys.argv[0] )
sys.exit()
else:
check_ip(sys.argv[1])
print(check_ip(a))
以上代码我个人觉得是比较简单易懂的方法,当然用的时候要注意复制过后的每行空格格式。因为PYTHON的空格是抓的非常的严格的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
-
python如何判断IP地址合法性
2020-12-20 14:22:18互联网上的每台计算机都有...现在用户输入一个字符串(不含有空格)判断是否合法。 import os,sys a=input() def check_ip(ip): import sys sc=ip.strip().split('.') if len(sc)!= 4: print( "check ip addr -
python判断ip地址类型_python如何判断IP地址合法性
2021-03-05 23:11:42互联网上的每台计算机都有独一无二的编号,称为IP地址,每个合法的IP地址由“.”分开的4个数字组成,并且IP地址细分类型的话,...现在用户输入一个字符串(不含有空格)判断是否合法。import os,sysa=input()def ch... -
华为笔试机试题,如何判断一个IP地址是否合法?
2017-12-27 14:43:51题目:判断输入的字符串是不是一个有效的IP地址 详细描述: 请实现如下接口 boolisIPAddressValid(constchar* pszIPAddr) 输入:pszIPAddr 字符串 输出:true 有效的IP地址,false,无效的IP地址 ... -
php试题判断ip是否合法,php 判断IP为有效IP地址的方法
2021-03-23 22:56:29多数人看到这篇日志,第一印象肯定是以为是要讲...判断是否是合法IPif(filter_var($ip, FILTER_VALIDATE_IP)) {// it's valid}else {// it's not valid}判断是否是合法的IPv4 IP地址if(filter_var($ip, FILTER_VALID... -
java 判断地址_Java 判断IP地址的合法性实例详解
2021-02-12 13:36:12Java 判断IP地址的合法性0.前言有时候我们要对用户输入的IP地址进行校验,判断这个IP地址是不是一个合法的IP地址。1.实现思路最简单的实现方法是构造一个正则表达式。判断用户的输入与正则表达式是否匹配。若匹配则... -
如何判断一个字符串是否为合法的IP地址。
2019-08-31 21:45:48如何判断一个字符串是否为合法的IP地址。 import java.util.Scanner; public class MyTest { public static void main(String[] args) { /* * 如何判断一个字符串是否为合法的IP地址。 */ Scanner sc=... -
c linux 判断ip合法_教你如何用 Linux Shell脚本判断IP是否合法(多种方法)
2021-01-26 18:01:27从运维角度来说,写shell脚本经常会遇到判断输入的值是否合法,比如IP、邮件地址等。那么,根据自身写脚本中总结的判断IP合法性脚本分享给网友,遇到时能有所参考。思路:IP由四位数字组成,以点分割,每个字段不能... -
判断IP地址的合法性(Java)
2016-09-30 13:03:430.前言有时候我们要对用户输入的IP地址进行校验,判断这个IP地址是不是一个合法的IP地址。 1.实现思路最简单的实现方法是构造一个正则表达式。判断用户的输入与正则表达式是否匹配。若匹配则是正确的IP地址,否则... -
java验证用户ip合法性方法_Java 判断IP地址的合法性实例详解
2021-03-14 22:38:22Java 判断IP地址的合法性0.前言有时候我们要对用户输入的IP地址进行校验,判断这个IP地址是不是一个合法的IP地址。1.实现思路最简单的实现方法是构造一个正则表达式。判断用户的输入与正则表达式是否匹配。若匹配则... -
如何用C语言判断ip地址是否合法? (用inet_addr有问题)
2014-08-29 23:52:24对ip地址进行判断, 可以用很多方法, 比如正则表达式, 直接解析法。 但是 -
【C语言+网络编程】如何判断一个字符串形式的ip地址是否合法?
2019-03-14 21:19:51最近在项目中突然遇到了主题的这个问题,当时匆匆一想,好像觉得还挺简单的吧?结果代码一写,发现还真的听过case需要考虑的呀! 改天抽空把测试代码共享出来。。。未完待续。。。 ... -
输入一个IP地址字符串(支持16进制和10进制),判断ip是否合法———C语言实现
2018-10-14 03:43:471.输入一个IP地址字符串(支持16进制和10进制),判断ip是否合法,例如ip为“192.1.0.1”返回ture,ip为“266.266.266.1”,返回false。 程序思路 1、要把ip地址分隔开,当然是用“.”分割。 2、ip地址有十进制和16... -
如何判断一个Edit Box里,输入的IP地址是否合法?
2009-02-21 10:10:00利用函数:inet_addr unsigned long inet_addr( ... MessageBox("IP地址错误,请重新设置"); } ******************************************************************* -
面试题----如何判断一个字符串是否为合法的IP地址(C++)
2020-07-25 11:06:46如何判断一个字符串是否为合法的IP地址。 要求: 1. 不能使用正则表达式和自带的库函数。 2. 列出全部测试用例,并给出原因。 -
教你如何用 Linux Shell脚本判断IP是否合法(多种方法)
2018-01-23 00:00:00来自 | 李振良的技术博客链接 | http://t.cn/RQEqmBE从运维角度来说,写shell脚本经常会遇到判断输入的值是否合法,比如IP、邮件地址等。那么,根据自身写脚本中总结的判断IP合法性脚本分享给网友,遇到时能有所... -
php如何判断IP为有效IP地址
2017-12-15 16:36:00不需要正则表达式来判断,因为在php5.2.0之后,有专门的函数来做这个判断了。 判断是否是合法IP if(filter_var($ip,FILTER_VALIDATE_IP)){ ...判断是否是合法的IPv4IP地址 if(filter_var($ip,FILTER_VALID... -
php如何判断ipv4_php判断是否是有效IP地址的方法
2021-03-23 08:16:56本文主要介绍了php 判断IP为有效IP地址的方法,需要的朋友可以参考下,希望能帮助到大家。非也,在php5.2.0之后,有专门的函数来做这个判断了。判断是否是合法IPif(filter_var($ip, FILTER_VALIDATE_IP)) {// it's ... -
php判断ip是否在线,php 判断IP为有效IP地址的方法
2021-03-25 10:13:11多数人看到这篇日志,第一印象肯定是以为是要讲...判断是否是合法IPif(filter_var($ip, FILTER_VALIDATE_IP)) {// it's valid}else {// it's not valid}判断是否是合法的IPv4 IP地址if(filter_var($ip, FILTER_VALID... -
php如何判断ipv4_php判断IP地址,php ip验证
2021-03-23 08:16:51正则表达式来判断是否是合法的IPif ( preg_match( '#^(([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)\.){3}([1-9]?\d|1\d\d|25[0-5]|2[0-4]\d)$#', $ip ) ) {echo "it's valid";}else{echo "it's not valid";}php自带函数来... -
php如何判断ipv4_php 判断IP为有效IP地址的方法
2021-03-23 08:17:13多数人看到这篇日志,第一印象肯定是以为是要讲...判断是否是合法IPif(filter_var($ip, FILTER_VALIDATE_IP)) {// it's valid}else {// it's not valid}判断是否是合法的IPv4 IP地址if(filter_var($ip, FILTER_VALID... -
判断ip国内外地址_如何判断两个IP段(IP地址/子网掩码位数)是否是包含关系?...
2021-01-22 05:29:18根据子网掩码的定义,理论上,合法IP段中所包含的IP地址数量只可能是1、2、4、8、16、32、64、128……(2的n次方,n≥0)。子网掩码对应CIDR值所以,对于任意两个合法IP段,在这个横轴上不会存在“部分相交”的可能...