正则表达式判断合法IP

来源:互联网 发布:android网络相关面试题 编辑:程序博客网 时间:2024/05/21 07:01
描述:
现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分
为8位,表示成一个无符号整数(因此不需要正号出现),如10.137.17.1,是我们非常熟悉的IP
地址,一个IP地址串中没有空格出现(因为要表示成一个32位数字)。输出判断结果,输入的inputStr
是合法的IP,返回YES,否则返回NO。注意:010.1.1.1 是合法的IP, 0010.1.1.1 是非法的IP。

分析:
用正则表达式进行判断。

代码如下:
public void checkIP(String inputStr, StringBuffer outputStr)
{
if (inputStr == null || inputStr == "")
{
return;
}
String ip = "^([0-1]\\d\\d|2[0-4]\\d|25[0-5]|[0-9]\\d|[0-9])\\."
+ "([0-1]\\d\\d|2[0-4]\\d|25[0-5]|[0-9]\\d|[0-9])\\."
+ "([0-1]\\d\\d|2[0-4]\\d|25[0-5]|[0-9]\\d|[0-9])\\."
+ "([0-1]\\d\\d|2[0-4]\\d|25[0-5]|[0-9]\\d|[0-9])$";    //正则表达式
Pattern pattern = Pattern.compile(ip);
Matcher matcher = pattern.matcher(inputStr);
if (matcher.matches())
{
outputStr.append("YES");
}
else
{
outputStr.append("NO");
}
return;
}
1 0
原创粉丝点击