HI all, 我在android(作爲客戶端)和PC(作爲服務器)之間使用簡單的套接字通信。我正在使用EditText作爲IP地址。我想驗證在EditText字段中輸入的IP地址。可以請一些人幫助我..我需要它。提前致謝。在android中驗證IP
18
A
回答
32
如果您的目標是API級別8,則可以使用Patterns.IP_ADDRESS全局正則表達式。您可以直接包括這個表達式在您的項目,如果你的目標與Android < 2.2設備:
private static final Pattern IP_ADDRESS
= Pattern.compile(
"((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9])\\.(25[0-5]|2[0-4]"
+ "[0-9]|[0-1][0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1]"
+ "[0-9]{2}|[1-9][0-9]|[1-9]|0)\\.(25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}"
+ "|[1-9][0-9]|[0-9]))");
Matcher matcher = IP_ADDRESS.matcher("127.0.0.1");
if (matcher.matches()) {
// ip is correct
}
15
要檢查IP作爲它正在進入你可能想使用它代替:
private static final Pattern PARTIAl_IP_ADDRESS =
Pattern.compile("^((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])\\.){0,3}"+
"((25[0-5]|2[0-4][0-9]|[0-1][0-9]{2}|[1-9][0-9]|[0-9])){0,1}$");
ipEditText.addTextChangedListener(new TextWatcher() {
@Override public void onTextChanged(CharSequence s, int start, int before, int count) {}
@Override public void beforeTextChanged(CharSequence s,int start,int count,int after) {}
private String mPreviousText = "";
@Override
public void afterTextChanged(Editable s) {
if(PARTIAl_IP_ADDRESS.matcher(s).matches()) {
mPreviousText = s.toString();
} else {
s.replace(0, s.length(), mPreviousText);
}
}
});
19
相關問題
- 1. IP地址驗證
- 2. 在Android中驗證edittext
- 3. 在Android中驗證XML Schema
- 4. Laravel 5 IP範圍驗證
- 5. 驗證碼和IP地址
- 6. 彈簧IP地址驗證
- 7. PHP驗證IP地址
- 8. Yii2 - 通過IP驗證AccessControl
- 9. IP地址驗證幫助
- 10. 與ip和http jQuery驗證
- 11. 登錄驗證+ IP地址驗證在PHP
- 12. 驗證datastage中的IP地址
- 13. 使用三種方法驗證IP地址,但在嘗試驗證0-255字節時中斷IP地址
- 14. 身份驗證問題在Android中
- 15. 無法在android中驗證wcf服務
- 16. 在android中進行EditText驗證?
- 17. 在Android中集成instagram身份驗證
- 18. 在android中驗證單選按鈕
- 19. 如何在android中驗證範圍?
- 20. 驗證SSL認證Java/Android
- 21. Android驗證SSL證書
- 22. 嘗試使用javascript驗證IP地址
- 23. Rails 3:驗證IP字符串
- 24. 驗證IP地址(帶掩碼)
- 25. Rails 3驗證URL或IP地址
- 26. IP驗證不一致從PHP 5.6.25
- 27. 一個IP地址的字段驗證
- 28. NSIS:如何驗證IP地址框
- 29. 使用bash驗證IP範圍
- 30. 驗證IP地址/網絡掩碼
謝謝你,非常有用:) – Bartando 2016-03-25 17:50:07
不錯的一個!謝謝 – artman 2016-07-29 11:54:55
這是真棒,很容易推廣到某種「RegexValidator」,可以很容易地添加到任何EditText爲其他用例:) – user1405990 2016-10-19 02:20:48