java可以使用正則表達(dá)式判斷是否是IP。(推薦:java視頻教程)
實(shí)現(xiàn)代碼如下:
/** 1. @Title:IpAddress.java 2. @Package:com.you.dao 3. @Description:用正則表達(dá)式判斷是否為IP */ package com.you.dao; import java.util.regex.Matcher; import java.util.regex.Pattern; /** 7. @類名:IpAddress 8. @描述:用正則表達(dá)式判斷是否為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 * @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)); } }