Java 判斷IP地址的合法性實(shí)例詳解
Java 判斷IP地址的合法性
0.前言
有時(shí)候我們要對(duì)用戶(hù)輸入的IP地址進(jìn)行校驗(yàn),判斷這個(gè)IP地址是不是一個(gè)合法的IP地址。

1.實(shí)現(xiàn)思路
最簡(jiǎn)單的實(shí)現(xiàn)方法是構(gòu)造一個(gè)正則表達(dá)式。判斷用戶(hù)的輸入與正則表達(dá)式是否匹配。若匹配則是正確的IP地址,否則不是正確的IP地址。這里的難點(diǎn)是如何構(gòu)造出一個(gè)可用的正則表達(dá)式。
2.Java實(shí)現(xiàn)
/**
* Created by HUPENG on 2016/9/26.
*/
public class Tool {
/**
* 判斷IP地址的合法性,這里采用了正則表達(dá)式的方法來(lái)判斷
* return true,合法
* */
public static boolean ipCheck(String text) {
if (text != null && !text.isEmpty()) {
// 定義正則表達(dá)式
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地址是否與正則表達(dá)式匹配
if (text.matches(regex)) {
// 返回判斷信息
return true;
} else {
// 返回判斷信息
return false;
}
}
return false;
}
}
3.調(diào)用的樣例
String b = JOptionPane.showInputDialog("請(qǐng)輸入邀請(qǐng)方IP地址:");
if (!Tool.ipCheck(b)){
JOptionPane.showInternalMessageDialog(ChessController.this.getContentPane(),
"IP地址格式錯(cuò)誤" ,"游戲提示", JOptionPane.INFORMATION_MESSAGE);
}
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
詳解springboot項(xiàng)目docker部署實(shí)踐
這篇文章主要介紹了詳解springboot項(xiàng)目docker部署實(shí)踐,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
SpringBoot Admin 如何實(shí)現(xiàn)Actuator端點(diǎn)可視化監(jiān)控
這篇文章主要介紹了SpringBoot Admin 如何實(shí)現(xiàn)Actuator端點(diǎn)可視化監(jiān)控,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Java 自定義Spring框架以及Spring框架的基本使用
Spring框架是由于軟件開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的。Spring使用的是基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。然而,Spring的用途不僅僅限于服務(wù)器端的開(kāi)發(fā)2021-10-10
Java線(xiàn)上問(wèn)題排查神器Arthas實(shí)戰(zhàn)原理解析
原先我們Java中我們常用分析問(wèn)題一般是使用JDK自帶或第三方的分析工具如jstat、jmap、jstack、?jconsole、visualvm、Java?Mission?Control、MAT等,還有一款神器Arthas工具,可幫助程序員解決很多繁瑣的問(wèn)題,感興趣的朋友一起看看吧2022-01-01
通過(guò)Java 程序獲取Word中指定圖片的坐標(biāo)位置
本文介紹通過(guò)Java程序獲取Word文檔中指定圖片的坐標(biāo)位置,程序運(yùn)行環(huán)境是jdk1.8開(kāi)發(fā)環(huán)境idea,通過(guò)java程序代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧2021-05-05
Java使用poi組件導(dǎo)出Excel格式數(shù)據(jù)
這篇文章主要介紹了Java使用poi組件導(dǎo)出Excel格式數(shù)據(jù),需要的朋友可以參考下2020-02-02
java實(shí)現(xiàn)ThreadLocal線(xiàn)程局部變量的實(shí)現(xiàn)
本文主要介紹了java實(shí)現(xiàn)ThreadLocal線(xiàn)程局部變量的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
圖解Java中歸并排序算法的原理與實(shí)現(xiàn)
歸并排序是建立在歸并操作上的一種有效的排序算法。該算法是采用分治法(Divide and Conquer)的一個(gè)非常典型的應(yīng)用。本文將通過(guò)圖片詳解插入排序的原理及實(shí)現(xiàn),需要的可以參考一下2022-08-08
SpringBoot如何使用validator框架優(yōu)雅地校驗(yàn)參數(shù)
文章介紹了如何使用SpringValidation進(jìn)行參數(shù)校驗(yàn),包括引入依賴(lài)、@requestBody和@requestParam參數(shù)校驗(yàn)、統(tǒng)一異常處理、分組校驗(yàn)、嵌套校驗(yàn)、自定義校驗(yàn)、業(yè)務(wù)規(guī)則校驗(yàn)以及@Valid和@Validated的區(qū)別,同時(shí),列舉了常用的BeanValidation和HibernateValidator注解2025-02-02

