Java正则校验IP或不填
在开发过程中,经常需要对用户输入的IP地址进行校验。IP地址是计算机在网络上的唯一标识符,格式为四段由“.”分隔的数字,每段数字范围为0-255。本文将介绍如何使用Java正则表达式来校验IP地址或者校验用户输入是否为空。
IP地址的正则表达式
IP地址的正则表达式可以使用以下代码来进行校验:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class IPAddressValidator {
private static final String IPADDRESS_PATTERN =
"^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$";
private static final Pattern pattern = Pattern.compile(IPADDRESS_PATTERN);
public static boolean validate(final String ip){
Matcher matcher = pattern.matcher(ip);
return matcher.matches();
}
}
在上面的代码中,我们定义了一个IPAddressValidator
类,其中包含了一个validate
方法,用于校验输入的IP地址是否符合规范。如果符合规范则返回true
,否则返回false
。
判断是否为空的正则表达式
如果需要判断用户输入是否为空,可以使用以下代码:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
public class EmptyValidator {
private static final String EMPTY_PATTERN = "^\\s*$";
private static final Pattern pattern = Pattern.compile(EMPTY_PATTERN);
public static boolean isEmpty(final String input){
Matcher matcher = pattern.matcher(input);
return matcher.matches();
}
}
上面的代码中,我们定义了一个EmptyValidator
类,其中包含了一个isEmpty
方法,用于校验输入是否为空。如果输入为空则返回true
,否则返回false
。
使用示例
下面我们来演示如何使用上面定义的两个校验器:
public class Main {
public static void main(String[] args) {
String ip = "192.168.0.1";
if (IPAddressValidator.validate(ip)) {
System.out.println("IP地址格式正确");
} else {
System.out.println("IP地址格式错误");
}
String input = "";
if (EmptyValidator.isEmpty(input)) {
System.out.println("输入为空");
} else {
System.out.println("输入不为空");
}
}
}
在上面的示例中,我们首先校验了一个合法的IP地址,然后校验了一个空的输入。
总结
本文介绍了如何使用Java正则表达式来校验IP地址或判断输入是否为空。通过正则表达式,我们可以轻松地对用户输入进行校验,确保输入符合规范。希望本文对你有所帮助!