2010-11-03 24 views

Respuesta

7

me gustaría hacer algo como esto:

private static readonly Regex _validator = 
    new Regex(@"^\d{4}-\d{5}-\d{4}-\d{3}$", RegexOptions.Compiled); 
private static bool ValidateInput(string input) 
{ 
    input = (input ?? string.Empty); 
    if (input.Length != 19) 
    { 
     return false; 
    } 
    return _validator.IsMatch(input); 
} 
+0

No es que sólo para los números? Es cierto que la pregunta no especifica exactamente qué es "texto". –

+0

@ Liviu: normalmente interpreto ** ** como un marcador de posición numérico. – ChaosPandion

+0

¿Por qué pasar por la molestia de verificar la longitud y tener múltiples devoluciones, la operación de expresiones regulares precompiladas es tan costosa que no vale la pena hacerlo? Simplemente dejaría que fallara la expresión regular y simplificaría el método. Sin embargo, me gusta que esté usando \ d en lugar de [0-9] – dstarh

Cuestiones relacionadas