java
Pattern ipv4Pattern= Pattern.compile("^(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])$");
Pattern ipv6Pattern= Pattern.compile("^\\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)(\\.(25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)){3}))|:)))(%.+)?\\s*$");
Matcher m4= ipv4Pattern.matcher(src);
Matcher m6= ipv6Pattern.matcher(src);
System.out.println(m4.find() || m6.find());
JS
pattern=/^(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])$/;
flag_ip=pattern.test(str);
var ipv6_pattern=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/;
var ipv6_flag_ip=ipv6_pattern.test(str);
if(!flag_ip && !ipv6_flag_ip){
return false;
}else{
return true;
}
分享到:
相关推荐
"TCP/IP校验和计算小工具"就是专为这个目的设计的实用程序,它可以帮助网络技术人员快速、准确地计算和验证TCP/IP数据包的校验和。 TCP(传输控制协议)和IP(互联网协议)都是TCP/IP协议族的重要组成部分。TCP负责...
【IP校验与算法反码求和详解】 IP校验和是网络通信中确保数据完整性的关键机制,特别是在IP协议中,它通过反码求和校验算法来检测IP包头在传输过程中是否发生错误。这个算法是基于1的补码(one's complement)原理...
"CRC与IP校验和的计算" CRC(Cyclic Redundancy Check)是一种常用的数据校验方法,通过计算数据的二进制多项式来生成校验和。CRC 校验和的计算可以通过软件或硬件实现。本文将从两个方面讨论 CRC 与 IP 校验和的...
"TCP/IP校验和计算小工具"就是这样一个实用程序,用于帮助用户手动计算和验证这些协议头中的校验和。 首先,我们要理解什么是校验和。校验和是一种简单的错误检测机制,通过在数据包发送前计算数据的二进制和,然后...
IP头部校验和计算
根据给定的信息,本文将对一个简易的C语言IP地址处理及校验程序进行详细的解析。该程序的主要功能包括:接收二进制形式的输入,对其进行处理后输出对应的校验码。下面将从程序的工作原理、核心算法以及实现细节等...
IpRangeUtil;java 校验Ip段(子网掩码); 支持 iptables.patterns=10.0.0.0/8,192.168.0.0/16,172.16.0.0/12,202.195.129.240/28,202.195.128.0/20
IP和UDP检验和代码,可以过课设的!简单易懂,就是源代码!
BIP4校验码是一种这样的校验机制,它被广泛应用于单片机(MCU)与上位机之间的通信中,以检测数据在传输过程中的错误。下面将详细介绍BIP4校验码的原理、应用及其重要性,以及如何使用这个"以前写的一个用于计算BIP4...
标题“特殊规则IP验证”指的是在编程中对特定格式或有特定要求的IP地址进行验证的过程。这通常涉及到网络编程,网络安全以及数据过滤等场景。在这个主题中,我们主要会探讨如何实现这样的验证机制,特别是在Java环境...
ip lenth:20,prot=6. ori sum = 0xf092,ip cksum:0xf092 tcp head lenth:32,tcplen=32 tcp.saddr = 0xc7212101,daddr=0xc7212121,tcpsum=0x1d08a ori sum = 0x51ba,tcp cksum:0x51ba f2bb 85c9 7d22 000a 3500 2201 ...
本文将详细解析"IP地址输入正则验证ip插件.zip"的相关知识点,包括IP地址的原理、正则表达式验证IP地址的方法、jQuery插件的运用以及自动换行的实现。 首先,IP地址(Internet Protocol Address)是互联网协议地址...
其中,IP地址的验证是一项常见的需求。通过正则表达式来实现IP地址的有效性检查是一种简单而有效的方法。 ### IP地址基础知识 在讨论正则表达式之前,先了解一下IP地址的基本结构。IPv4地址是最常用的版本,它由四...
java SWING做一个IP输入框,功能很好
在计算机网络中,IP(Internet Protocol)头部的校验和是一项关键的安全机制,用于检测IP数据包在传输过程中是否发生了错误。这个功能是通过一种简化的二进制和算法实现的,确保数据在从发送方到接收方的过程中保持...
例如,一个简单的IP校验和计算函数可能如下: ```c unsigned short in_cksum(unsigned short *addr, int len) { register int sum = 0; unsigned short oddbyte; register u_short answer; while (len > 1) { ...
Java 实现免费代理IP的获取方式 并动态实时校验是否有效,java文件项目内含有Jsoup的Jar包(Jsoup是加工过的,含请求),有2个主入口程序: 其一:用于请求代理IP,并立即校验是否是一个有效的代理IP,如果有效,...
IP校验和覆盖整个IP头部和数据部分;TCP和UDP的校验和只覆盖头部和数据;ICMP的校验和则包括ICMP头部和数据。计算校验和通常涉及对所有16位字进行求和,然后取反,以确保任何错误都能被检测出来。 在"Send_Eth_...
在这个"C#_Winform校验值是否是IP.rar"压缩包中,包含了一个Winform应用,其主要功能是验证输入的字符串是否符合IPv4或IPv6地址的标准格式。 首先,我们来了解IP地址的基本概念。IP地址(Internet Protocol Address...
实验的主要目标是掌握IP数据报的报文格式、IP校验和计算方法、子网掩码和路由转发、特殊IP地址的含义、IP分片过程、协议栈对IP协议的处理方法以及IP路由表的作用和管理。 实验环境: 本实验采用网络结构二,实验...