要實現(xiàn)該算法我們首先應(yīng)該知道,IP地址應(yīng)該依據(jù)哪些條件:
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),臺山企業(yè)網(wǎng)站建設(shè),臺山品牌網(wǎng)站建設(shè),網(wǎng)站定制,臺山網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,臺山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。(推薦教程:java入門教程)
判斷原則:
判斷該字符長度是否是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ù)是待判斷的字符串,返回的是布爾變量。
(視頻教程推薦:java視頻教程)
常規(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é)果: