「ip校验java」ip校验正则表达式

博主:adminadmin 2022-12-11 23:00:07 73

本篇文章给大家谈谈ip校验java,以及ip校验正则表达式对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java 如何验证ip地址

可以使用正则表达式验证ip地址,ip地址分为v4和v6两个版本,v4为32位,分4段,中间用.隔开,v6为128位,可分为4段32位中间用::隔开。

以下是验证类详细代码:

import java.util.regex.Pattern;

/**

* A collection of utilities relating to InetAddresses.

*/

public class InetAddressUtils {

public static void main(String[] args){

String addr="192.168.1.2";

System.out.println(isIPv4Address(addr));

}

private static final Pattern IPV4_PATTERN =

Pattern.compile(

"^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$");

private static final Pattern IPV6_STD_PATTERN =

Pattern.compile(

"^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$");

private static final Pattern IPV6_HEX_COMPRESSED_PATTERN =

Pattern.compile(

"^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)$");

public static boolean isIPv4Address(final String input) {

return IPV4_PATTERN.matcher(input).matches();

}

public static boolean isIPv6StdAddress(final String input) {

return IPV6_STD_PATTERN.matcher(input).matches();

}

public static boolean isIPv6HexCompressedAddress(final String input) {

return IPV6_HEX_COMPRESSED_PATTERN.matcher(input).matches();

}

public static boolean isIPv6Address(final String input) {

return isIPv6StdAddress(input) || isIPv6HexCompressedAddress(input);

}

}

java编写正则表达式,判断给定的是否是一个合法的IP地址怎么写?

正则表达式匹配ip地址,实际上就是分别判断每个点直接的数字是否符合规范。\x0d\x0apackage com;\x0d\x0a import java.util.regex.Matcher;\x0d\x0a import java.util.regex.Pattern; \x0d\x0a public class TestRegex { \x0d\x0a public static boolean isboolIP(String ipAddress){ \x0d\x0a String ip="(2[5][0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})\\.(25[0-5]|2[0-4]\\d|1\\d{2}|\\d{1,2})"; \x0d\x0a Pattern pattern = Pattern.compile(ip); \x0d\x0a Matcher matcher = pattern.matcher(ipAddress); \x0d\x0a return matcher.matches();\x0d\x0a } \x0d\x0a /** * @param args \x0d\x0a */ \x0d\x0a public static void main(String[] args) { \x0d\x0a // TODO Auto-generated method stub \x0d\x0a String ipAddress1 = "10."; \x0d\x0a String ipAddress2 = "0.0.0.0"; \x0d\x0a String ipAddress3 = "255.255.255.255";\x0d\x0a String ipAddress4 = "192.168.2.1";\x0d\x0a String ipAddress5 = "26445687";\x0d\x0a String ipAddress6 = "nihao"; \x0d\x0a String ipAddress7 = "你好!!"; \x0d\x0a if(isboolIP(ipAddress1)){ \x0d\x0a System.out.println("IP正确"); \x0d\x0a }else{ \x0d\x0a System.out.println("IP错误"); \x0d\x0a } if(isboolIP(ipAddress2)){ \x0d\x0a System.out.println("IP正确"); }else{ \x0d\x0a System.out.println("IP错误"); \x0d\x0a } if(isboolIP(ipAddress3)){ \x0d\x0a System.out.println("IP正确"); }else{ \x0d\x0a System.out.println("IP错误"); \x0d\x0a } \x0d\x0a if(isboolIP(ipAddress4)){ \x0d\x0a System.out.println("IP正确"); }else{ \x0d\x0a System.out.println("IP错误");

java正则表达式校验 ip

你直接用matchs判断就可以了,matcher是只要内部有能匹配上的就算满足,不是判断整体。

String rexp = "([1-9]|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])(\\.(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|25[0-5])){3}";

String addr = "11111.1.1.1";

System.out.println("1.1.1.1".matches(rexp));

System.out.println("11.1.1.1".matches(rexp));

System.out.println("111.1.1.1".matches(rexp));

System.out.println("11111.1.1.1".matches(rexp));

true

true

true

false

昆明Java培训:如何验证IP地址的有效性

【实例描述】IP地址是网络上每台计算机的标识,在浏览器中输入的网址也是要经过DNS服务器转换为IP地址才能找到服务器的,在很多网络程序中要求输入服务器IP地址或者对方连接的IP地址,IP地址的错误输入将使程序无法运行。

本实例将实现对IP地址的验证功能,实例的运行效果如图4.14所示。

【实现过程】(1)在Eclipse中新建项目CheckIP,并在其中创建一个CheckIP.java文件。

在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的IP地址。

核心代码如下所示:protectedvoiddo_button_actionPerformed(ActionEvente){Stringtext=ipField.getText();//获取用户输入Stringinfo=matches(text);//对输入文本进行IP验证showMessageDialog(null,info);//用对话框输出验证结果}(2)编写IP地址的mathches()方法,该方法利用正则表达式对输入的字符串进行验证,并返回验证结果,关键代码如下所示。

publicStringmatches(Stringtext){if(text!=null!text.isEmpty()){//定义正则表达式Stringregex="^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."+"(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";//判断IP地址是否与正则表达式匹配if(text.matches(regex)){//返回判断信息returntext+"\n是一个合法的IP地址!";}else{//返回判断信息returntext+"\n不是一个合法的IP地址!";}}//返回判断信息return"请输入要验证的IP地址!";}【代码解析】本实例的关键点在于IP地址格式与数字范围的验证,用户在输入IP地址时,程序可以获取的只有字符串类型,所以本实例利用字符串的灵活性和正则表达式搭配进行IP地址格式与范围的验证。

该方法是String字符串类的方法,用于判断字符串与制定的正则表达式是否匹配。

其声明语法如下:publicbooleanmathches(Stringregex);Java程序设计经典300例XXXVIII【知识扩展】在正则表达式中,“.”代表任何一个字符,因此在正则表达式中如果想使用普通意义的点字符“.”,必须使用转义字符“\”。

关于ip校验java和ip校验正则表达式的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-11,除非注明,否则均为首码项目网原创文章,转载请注明出处。