1. 程式人生 > >Java 用正則表示式判斷是否為IP

Java 用正則表示式判斷是否為IP

/** 1. @Title:IpAddress.java 2. @Package:com.you.dao 3. @Description:用正則表示式判斷是否為IP 5. @date: 2014年3月4日 下午10:55:06 6. @Version V1.2.3 */ package com.you.dao; import java.util.regex.Matcher; import java.util.regex.Pattern; /** 7. @類名:IpAddress 8. @描述:用正則表示式判斷是否為IP 9. @Author:Administrator 10. @date
: 2014年3月4日 下午10:55:06 */
public class IpAddress { public static class IpAdd { public boolean isIP(String addr) { if(addr.length() < 7 || addr.length() > 15 || "".equals(addr)) { return false; } /** * 判斷IP格式和範圍 */
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}"; Pattern pat = Pattern.compile(rexp); Matcher mat = pat.matcher(addr); boolean ipAddress = mat.find(); return ipAddress; } } /** * @Title
: main * @Type : IpAddress * @date : 2014年3月4日 下午10:55:06 * @Description : IP可能的範圍是0-255.0-255.0-255.0-255 * @param args */
public static void main(String[] args) { /** * 符合IP地址的範圍 */ String oneAddress = "10.127.30.45"; /** * 符合IP地址的長度範圍但是不符合格式 */ String twoAddress = "127.30.45"; /** * 不符合IP地址的長度範圍 */ String threeAddress = "7.0.4"; /** * 不符合IP地址的長度範圍但是不符合IP取值範圍 */ String fourAddress = "255.255.255.2567"; IpAdd ipAdd = new IpAdd(); //判斷oneAddress是否是IP System.out.println(ipAdd.isIP(oneAddress)); //判斷twoAddress是否是IP System.out.println(ipAdd.isIP(twoAddress)); //判斷threeAddress是否是IP System.out.println(ipAdd.isIP(threeAddress)); //判斷fourAddress是否是IP System.out.println(ipAdd.isIP(fourAddress)); } }