如何判斷java字符串是否是IP地址?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
為任城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及任城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都做網(wǎng)站、任城網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
要實現(xiàn)該算法我們首先應(yīng)該知道,IP地址應(yīng)該依據(jù)哪些條件:
判斷原則:
判斷該字符長度是否是7-15位之間(0.0.0.0-255.255.255.255.255)
是否能以小數(shù)點分成四段
每段是否都是數(shù)字
每段數(shù)字是否都在0-255之間
只有以上四個條件都滿足了,才是IP的正確格式。
實現(xiàn)該算法有兩種比較簡單的方法,一種是常規(guī)判斷,另一種是利用正則表達式進行判斷,下面以函數(shù)的形式實現(xiàn)這兩種方法,可以直接復(fù)制函數(shù)使用,傳入的參數(shù)是待判斷的字符串,返回的是布爾變量。
常規(guī)方法判斷
//判斷字符是否是IP public boolean isCorrectIp(String ipString) { //1、判斷是否是7-15位之間(0.0.0.0-255.255.255.255.255) if (ipString.length()<7||ipString.length()>15) { return false; } //2、判斷是否能以小數(shù)點分成四段 String[] ipArray = ipString.split("\\."); if (ipArray.length != 4) { return false; } for (int i = 0; i < ipArray.length; i++) { //3、判斷每段是否都是數(shù)字 try { int number = Integer.parseInt(ipArray[i]); //4.判斷每段數(shù)字是否都在0-255之間 if (number <0||number>255) { return false; } } catch (Exception e) { return false; } } return true; }
正則表達式方法判斷
//利用正則表達式判斷字符是否為IP public boolean isCorrectIp2(String ipString) { String ipRegex = "\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"; //IP地址的正則表達式 //如果前三項判斷都滿足,就判斷每段數(shù)字是否都位于0-255之間 if (ipString.matches(ipRegex)) { String[] ipArray = ipString.split("\\."); for (int i = 0; i < ipArray.length; i++) { int number = Integer.parseInt(ipArray[i]); //4.判斷每段數(shù)字是否都在0-255之間 if (number <0||number>255) { return false; } } return true; } else { return false; //如果與正則表達式不匹配,則返回false } }
測試結(jié)果:
看完上述內(nèi)容,你們掌握如何判斷java字符串是否是IP地址的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
當(dāng)前名稱:如何判斷java字符串是否是IP地址
本文鏈接:http://aaarwkj.com/article42/iggpec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)、標簽優(yōu)化、自適應(yīng)網(wǎng)站、企業(yè)網(wǎng)站制作、網(wǎng)站建設(shè)、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)