描述:
现在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; }