2010-11-03 2 views

ответ

7

Я хотел бы сделать что-то вроде этого:

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

Разве это не только цифры? Это правда, что в вопросе не указывается точно, что такое «текст». –

+0

@ Liviu - Обычно я интерпретирую ** # ** в качестве числового заполнителя. – ChaosPandion

+0

Зачем решать проблему с проверкой длины и иметь несколько возвратов, является ли работа с предварительно скомпилированным регулярным выражением настолько дорогостоящей, что это не стоит делать? Я просто позволю ему не сгенерировать регулярное выражение и сделать метод более простым. Я так же использую, что вы используете \ d вместо [0-9] – dstarh