2010-11-03 18 views

risposta

7

vorrei fare qualcosa di simile:

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

non è che solo per i numeri? È vero che la domanda non specifica esattamente cosa sia "testo". –

+0

@Liviu - Di solito interpreto ** # ** come segnaposto numerico. – ChaosPandion

+0

perché passare attraverso il problema di controllare la lunghezza e avere più ritorni, è l'operazione di regex precompilata così costosa che non vale la pena fare? Vorrei solo lasciarlo fallire la regex e rendere il metodo più semplice. Comunque, mi piace che tu stia usando \ d al posto di [0-9] – dstarh