HI all, Estoy utilizando la comunicación de socket simple entre android (como cliente) y PC (como servidor). Estoy usando EditText para la dirección Ip. Quiero validar la dirección IP que se está ingresando en el campo EditText. Por favor, alguien me ayude ... Lo necesito. Gracias por adelantado.Validar IP en android
18
A
Respuesta
32
Si se dirige al nivel 8 de API, puede usar la expresión regular global Patterns.IP_ADDRESS. Puede incluir directamente esta expresión regular en su proyecto si orienta dispositivo con 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
Para comprobar la dirección IP, ya que está siendo introducida es posible que desee utilizar en su lugar:
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
Cuestiones relacionadas
- 1. Raíles 3: Validar cadena IP
- 2. Cómo validar una dirección IP en C#
- 3. Validar una dirección IP (con máscara)
- 4. Validar las preferencias. Android
- 5. Validar la entrada de dirección en Android
- 6. ¿Detecta la dirección IP wifi en Android?
- 7. Configurar Android IP, DNS, configuración GATEWAY programáticamente
- 8. ¿Cómo validar una dirección IP con expresión regular en Objective-C?
- 9. usando la expresión regular para validar la dirección IP en Powershell?
- 10. ¿es necesario validar $ _SERVER ['REMOTE_ADDR']?
- 11. Obtener la ubicación de wifi ip en android
- 12. Cómo validar el nombre de host (puede ser IP) y el número de puerto (CString)
- 13. Validar json en php
- 14. ¿Validar argumentos en Ruby?
- 15. IP y subred de IP inicial IP final
- 16. Validar IPv4, IPv6 y nombre de host
- 17. ip country php o apache
- 18. validar dos campos con jQuery Validar
- 19. mod_rewrite basado en ip
- 20. Dirección IP en Silverlight
- 21. Cómo hacer ping a IP externa desde Java Android
- 22. Cómo bloquear direcciones IP o clases IP en ASP.NET
- 23. ¿Cómo obtener la dirección IP del emulador de Android?
- 24. ¿Los dispositivos Android tienen una dirección IP estática?
- 25. requestRouteToHost argumento IP
- 26. IP prohibidas en la validación de formulario de Django
- 27. Validar (X) HTML en Python
- 28. Cómo validar Guid en .net
- 29. Validar los dicts en Python
- 30. Validar singularidad de asociación en
Gracias por esto, muy útil :) – Bartando
¡Bonito! Gracias – artman
Esto es impresionante y bastante fácil de generalizar en algún tipo de "RegexValidator" que se puede agregar fácilmente a cualquier EditText para otros casos de uso :) – user1405990