cómo comprobar la cadena es un código de color hexadecimal válido en android

Tuve una cadena que tengo que validar si es código de color hexadecimal válido o no. Mis cadenas de ejemplo son las siguientes:

1 – # ff00000

2 – # ff347820

Cómo validar las cadenas anteriores para comprobar si son códigos de color hexadecimal válidos o no.
¿Puede alguien ayudarme a solucionar este problema?

Gracias por adelantado

La manera apropiada de Android de probar esto, independientemente de soportar formatos futuros, es confiar en la clase Color .

Me gusta esto:

 try { Color color = Color.parseColor(myColorString); // color is a valid color } catch (IllegalArgumentException iae) { // This color string is not valid } 

Como bono, también soporta colores como magenta , blue

El pro más de regex correspondencia es semántica. Este código explícitamente prueba la cadena myColorString contra ser un color. Prácticamente no necesitas ningún comentario para decir lo que es.

Utilice una expresión regular para hacerlo.

La clase Pattern es lo que necesita:

 Pattern colorPattern = Pattern.compile("#([0-9a-f]{3}|[0-9a-f]{6}|[0-9a-f]{8})"); Matcher m = colorPattern.matcher(yourInputString); boolean isColor = m.matches(); 
 package com.javacodegeeks.java.core; import java.util.regex.Matcher; import java.util.regex.Pattern; public class HexColorValidator { private Pattern pattern; private Matcher matcher; private static final String HEX_PATTERN = "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$"; public HexColorValidator() { pattern = Pattern.compile(HEX_PATTERN); } public boolean validate(final String hexColorCode) { matcher = pattern.matcher(hexColorCode); return matcher.matches(); } } 

Código de http://examples.javacodegeeks.com/core-java/util/regex/matcher/how-to-validate-hex-color-code-with-regular-expression/

  • JodaTime - Compruebe si LocalTime es después de ahora y ahora antes de otro LocalTime
  • ¿Cómo puedo hacer que mi cuadro de diálogo de Android sea de pantalla completa?
  • Android: cómo programar ronda sólo esquinas superiores de un mapa de bits?
  • ¿Cómo configurar el color de fondo personalizado mientras se toca el elemento?
  • Descodificación de paquetes Airplay en Java o C / C ++ en Android
  • Almacenamiento en caché de archivos de guayaba
  • Android TextView NullPointerException con onTouchListener y onClickListener en 4.0
  • Cómo hacer el "export jar" de Eclipse desde la línea de comandos
  • Intentar invocar el método virtual. Aplicación para mostrar la ubicación
  • Cómo recibir la última emisión de secuencia al llamar a rx.Observable.sample ()?
  • EditText en ListView necesita ajustarResize pero tiene error de foco perdidoso
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.