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進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。