您好,登錄后才能下訂單哦!
java可以使用正則表達式判斷是否是IP。
ip的正則表達式:
格式是由“.”分割的四部分,每部分的范圍是0-255;zhi
每段的正則可以分幾部分來寫:dao200—255;100-199;10-99;0-9;
每一部分對應的正則表達式: 2[0-4]\d|25[0-5]; 1\d{2}; [1-9]\d; \d
所以連起來就是\d|[1-9]\d|1\d{2}|2[0-4]\d|25[0-5]
那么IP的正則就是(\d|[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])\.(\d|[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])
在JS中表示為:/^(\d|[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])\.(\d|[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])$/
實現代碼如下:
/** 1. @Title:IpAddress.java 2. @Package:com.you.dao 3. @Description:用正則表達式判斷是否為IP */ package com.you.dao; import java.util.regex.Matcher; import java.util.regex.Patten; /** 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 * @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)); } }
以上就是java判斷是否是ip的方法的詳細內容,更多請關注億速云其它相關文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。