導航:首頁 > 編程語言 > java判斷是否ip

java判斷是否ip

發布時間:2023-12-12 20:06:14

『壹』 java如何查詢本機ip地址和mac地址

Java中可以使用程序來獲取本地ip地址和mac地址,使用InetAddress這個工具類,示例如下:

importjava.net.*;
publicclassNetInfo{
publicstaticvoidmain(String[]args){
newNetInfo().say();
}
publicvoidsay(){
try{
InetAddressi=InetAddress.getLocalHost();
System.out.println(i);//計算機名稱和IP
System.out.println(i.getHostName());//名稱
System.out.println(i.getHostAddress());//只獲得IP
}
catch(Exceptione){e.printStackTrace();}
}
}

也可以通過命令行窗口來查看本地ip和mac地址,輸入命令:ipconfig。

『貳』 java 如何驗證ip地址

可以使用正則表達式驗證ip地址,ip地址分為v4和v6兩個版本,v4為32位,分4段,中間用.隔開,v6為128位,可分為4段32位中間用::隔開。

以下是驗證類詳細代碼:
import java.util.regex.Pattern;
/**
* A collection of utilities relating to InetAddresses.
*/
public class InetAddressUtils {
public static void main(String[] args){
String addr="192.168.1.2";
System.out.println(isIPv4Address(addr));
}

private static final Pattern IPV4_PATTERN =
Pattern.compile(
"^(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)(\\.(25[0-5]|2[0-4]\\d|[0-1]?\\d?\\d)){3}$");

private static final Pattern IPV6_STD_PATTERN =
Pattern.compile(
"^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$");

private static final Pattern IPV6_HEX_COMPRESSED_PATTERN =
Pattern.compile(
"^((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)::((?:[0-9A-Fa-f]{1,4}(?::[0-9A-Fa-f]{1,4})*)?)$");

public static boolean isIPv4Address(final String input) {
return IPV4_PATTERN.matcher(input).matches();
}

public static boolean isIPv6StdAddress(final String input) {
return IPV6_STD_PATTERN.matcher(input).matches();
}

public static boolean isIPv6HexCompressedAddress(final String input) {
return IPV6_HEX_COMPRESSED_PATTERN.matcher(input).matches();
}

public static boolean isIPv6Address(final String input) {
return isIPv6StdAddress(input) || isIPv6HexCompressedAddress(input);
}
}

『叄』 用java判斷一個字元串是否是ip 如果是是哪類ip,怎麼做

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class IpTest {
public static void main(String[] args) {
new IpTest().go();
}

/**
* 程序主要邏輯
*/

public void go() {
String IP = null;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
try {
IP = br.readLine();
} catch (IOException ex) {
ex.printStackTrace();
}

//String IP="192.168.0.100/255.255.255.0";
IP = IP.replace(" ", "");
String[] temp = IP.split("/");
String[] sIP = temp[0].split("\\.");

/**
* 判斷輸入格式是否正確
*/
if (temp.length < 2) {
System.out.println("對不起,輸入格式錯誤");
System.exit(0);
}

int Mask = Integer.parseInt(temp[1]);
int[] ip = new int[4];

for (int i = 0; i < sIP.length; i++) {
ip[i] = Integer.parseInt(sIP[i]);
}

/**
* IP地址各段不能大於255
*/

for (int i = 0; i < 4; i++) {
if (ip[i] > 255) {
System.out.println("對不起,IP輸入錯誤");
System.exit(0);
}
}

/**
* 判斷IP地址所屬分世指睜類
*/

int ipclass = 0;

if (ip[0] < 127) {
System.out.println("A類地址逗檔");
ipclass = 1;
} else if (ip[0] < 192) {
System.out.println("B類地址");
ipclass = 2;
} else if (ip[0] < 224) {
System.out.println("C類地址");
ipclass = 3;
}

/**
* 判斷子網掩碼是否輸入正確
*/搜歲

if (Mask < 8 * ipclass) {
System.out.println("對不起,子網掩碼輸入錯誤");
System.exit(0);
}

int b = 0;
int a = Mask % 8;

b = Mask / 8;

StringBuffer sb = new StringBuffer();

for (int i = 0; i < a; i++)
sb.append('1');
for (int i = 0; i < 8 - a; i++)
sb.append('0');

int end = Integer.parseInt(sb.toString(), 2);

ip[b] = ip[b] & end;
for (int i = b + 1; i < 4; i++)
ip[i] = 0;

for (int i = 0; i < 4; i++) {
System.out.print(ip[i]);
if (i != 3)
System.out.print(".");
}

}

}

『肆』 java判斷是否為合法的ip地址

/**
* 驗證ip是否合法
*
* @param text
* ip地址
* @return 驗證信息
*/
public String ipCheck(String text) {
if (text != null && !text.isEmpty()) {
// 定義正則表達式
String regex = "^(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|[1-9])\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)\\."
+ "(1\\d{2}|2[0-4]\\d|25[0-5]|[1-9]\\d|\\d)$";
// 判斷ip地址是否與正則表達式匹配
if (text.matches(regex)) {
// 返回判斷信息
return text + "\n是一個合法的IP地址!";
} else {
// 返回判斷信息
return text + "\n不是一個合法的IP地址!";
}
}
// 返回判斷信息
return "請輸入要驗證的IP地址!";
}

返回類型什麼的都可以自己修改啊

『伍』 java 判斷字元串是不是是IP

public static void main(String[] args) {
String myIP = "160.1.1.1";
boolean state = isIp(myIP);
System.out.println(state);
}

public static boolean isIp(String ip){//判斷是否是一個IP
boolean b = false;
ip = trimSpaces(ip);
if(ip.matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}")){
String s[] = ip.split("\\.");
if(Integer.parseInt(s[0])<255)
if(Integer.parseInt(s[1])<255)
if(Integer.parseInt(s[2])<255)
if(Integer.parseInt(s[3])<255)
b = true;
}
return b;
}
public static String trimSpaces(String ip){//去掉IP字元串前後所有的空格
while(ip.startsWith(" ")){
ip= ip.substring(1,ip.length()).trim();
}
while(ip.endsWith(" ")){
ip= ip.substring(0,ip.length()-1).trim();
}
return ip;
}

希望能幫到你!

『陸』 昆明Java培訓:如何驗證IP地址的有效性

【實例描述】IP地址是網路上每台計算機的標識,在瀏覽器中輸入的網址也是要經過DNS伺服器轉換為IP地址才能找到伺服器的,在很多網路程序中要求輸入伺服器IP地址或者對方連接的IP地址,IP地址的錯誤輸入將使程序無法運行。
本實例將實現對IP地址的驗證功能,實例的運行效果如圖4.14所示。
【實現過程】(1)在Eclipse中新建項目CheckIP,並在其中創建一個CheckIP.java文件。
在該類的主方法中創建標准輸入流的掃描器對象,接收用戶輸入的IP地址。
核心代碼如下所示:protectedvoiddo_button_actionPerformed(ActionEvente){Stringtext=ipField.getText();//獲取用戶輸入Stringinfo=matches(text);//對輸入文本進行IP驗證showMessageDialog(null,info);//用對話框輸出驗證結果}(2)編寫IP地址的mathches()方法,該方法利用正則表達式對輸入的字元串進行驗證,並返回驗證結果,關鍵代碼如下所示。
publicStringmatches(Stringtext){if(text!=null&&!text.isEmpty()){//定義正則表達式Stringregex="^(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|[1-9])\."+"(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\."+"(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)\."+"(1\d{2}|2[0-4]\d|25[0-5]|[1-9]\d|\d)$";//判斷IP地址是否與正則表達式匹配if(text.matches(regex)){//返回判斷信息returntext+" 是一個合法的IP地址!";}else{//返回判斷信息returntext+" 不是一個合法的IP地址!";}}//返回判斷信息return"請輸入要驗證的IP地址!";}【代碼解析】本實例的關鍵點在於IP地址格式與數字范圍的驗證,用戶在輸入IP地址時,程序可以獲取的只有字元串類型,所以本實例利用字元串的靈活性和正則表達式搭配進行IP地址格式與范圍的驗證。
該方法是String字元串類的方法,用於判斷字元串與制定的正則表達式是否匹配。
其聲明語法如下:publicbooleanmathches(Stringregex);Java程序設計經典300例XXXVIII【知識擴展】在正則表達式中,「.」代表任何一個字元,因此在正則表達式中如果想使用普通意義的點字元「.」,必須使用轉義字元「」。

『柒』 java如何確認IP是否屬於某地址段

java確認IP屬於某地址段主要是判斷IP前兩組是否相同,使用如下方法:
(1)如果同一個網弊賣段的概念是:
192.168.0.1和192.168.0.254,那麼用.拆分判斷第一二三部分完全一致應該就可以了,當然填寫的時候1到255的限制應該是起碼的要求了;
(2)如果192.168.0.1 和 192.168.0.254 ,再配合伍派上子網掩碼定義為同一網腔卜賀段的話,那就用兩個ip轉換為二進制之後分別和二進制子網掩碼做邏輯與,結果一致是不是就可以定義為同一網段;
網路中對網段的定義我也不太了解,不知道你是要遵循網路中的定義還是按你自己的需求來;

閱讀全文

與java判斷是否ip相關的資料

熱點內容
換手率app怎麼沒有自媒體了 瀏覽:407
安卓如何區分展示機和正品機 瀏覽:371
java運行和編譯命令 瀏覽:543
手機解壓30g文件要多久 瀏覽:708
php讀取文件格式 瀏覽:612
開發程序員的電影 瀏覽:743
pc端解壓文件下載 瀏覽:708
單片機C語言讀寄存器 瀏覽:164
linux火車源碼 瀏覽:793
小米手機應用加密怎樣解除 瀏覽:523
幫孩子解壓的句子 瀏覽:140
木匠編程 瀏覽:832
笑話pdf 瀏覽:441
pdf變形 瀏覽:852
微信app最下面的菜單欄叫什麼 瀏覽:249
我的世界晚上七點有什麼伺服器 瀏覽:176
雲伺服器不見了怎麼辦 瀏覽:965
怎麼看電腦ntp伺服器地址 瀏覽:579
程序員是干什麼的需要什麼素質 瀏覽:371
程序員畫圖工具哪個好 瀏覽:760