Android 判斷ip地址合法實(shí)現(xiàn)代碼
昨天,我在網(wǎng)上找了一下判斷文本框內(nèi)的字符串是否是合法的ip地址,自己想到了正則表達(dá)式,可是自己對這個卻不熟,所以在網(wǎng)上查找了一些資料,最后終于是做出來了。
具體的代碼很簡單,
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(); //============對之前的ip判斷的bug在進(jìn)行判斷 if (ipAddress==true){ String ips[] = addr.split("//."); if(ips.length==4){ try{ for(String ip : ips){ if(Integer.parseInt(ip)<0||Integer.parseInt(ip)>255){ return false; } } }catch (Exception e){ return false; } return true; }else{ return false; } } return ipAddress; }}這個代碼先用正則表達(dá)式判斷是否合法,其實(shí)就是判斷是否右3個點(diǎn)分開字符串,不過對字符串沒有判斷是否為數(shù)字,所以在后面我又找了另一個判斷ip的代碼,如果前面判斷的是合法,則在把字符串用點(diǎn)分開,然后強(qiáng)轉(zhuǎn)成數(shù)字判斷是否在0到255之間,如果不滿足或者強(qiáng)轉(zhuǎn)報錯,就返回字符串不是ip的false變量。
這樣就完成了判斷ip的合法性。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選