Вопрос

Есть ли библиотека, которую я могу использовать в своем текущем приложении ASP.NET для проверки строк запроса?

Редактировать ~ Использование регулярных выражений для поиска шаблонов, таких как строки, только числовые значения, строки длиной x и т. д.

Спасибо

Это было полезно?

Решение

Не знаю насчет библиотеки, но вы можете использовать ее, чтобы проверить, существует ли строка запроса:

if (!String.IsNullOrEmpty(Request.Querystring["foo"]))
{
   // check further
}
else
{
   // not there, do something else
}

Если вы хотите использовать регулярные выражения для дальнейшей проверки, вы можете создать класс, который принимает строку и возвращает логическое значение.

public static Boolean IsValid(String s)
{
    const String sRegEx = @"regex here";

    Regex oRegEx = new Regex(sRegEx , RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace | RegexOptions.Compiled);
    MatchCollection oMatches = oRegEx.Matches(s);

    return (oMatches.Count > 0) ? true : false;
}

Это хорошая бесплатная программа, которая поможет вам создавать регулярные выражения: Экспрессо

Другие советы

Лучшим подходом к такого рода вещам, вероятно, будет использование регулярных выражений для проверки любого условия, которое вы ищете.

В реальном сценарии было бы хорошо отделить проверку от представления, но только ради примера:

  if (!string.IsNullOrEmpty(Request.QueryString["Variable"]))
    {
        string s = Request.QueryString["Variable"];

        Regex regularExpression = new Regex("Put your regex here");

        if (regularExpression.IsMatch(s))
        {
            // Do what you want.
        }
    }

Вы хотите спросить о разбиении строки запроса на части?ASP.Net уже делает это за вас.Доступ к отдельным параметрам можно получить через коллекцию Request.QueryString.

Для строки запроса:?fruit=apple&socks=белый

Request.QueryString["fruit"] даст вам "яблоко", а Request.QueryString["socks"] даст вам "белое".

Если вы говорите о проверке строки запроса для запросов по мере их поступления, .NET Framework уже делает это.Страница имеет свойство ValidateRequest, которое по умолчанию имеет значение true, и любые недопустимые значения в строке запроса вызовут ошибку (при первом обращении к строке запроса в вашем коде) без необходимости каких-либо действий.

Если вы говорите о проверке строк запроса, которые у вас есть как данные или что-то в этом роде, тогда эта статья в журнале MSDN Mag может помочь вам.

РЕДАКТИРОВАТЬ:Я вижу, вы спрашиваете больше о проверке данных.Вы должны найти кое-что хорошее в статье MSDN, ссылку на которую я дал выше.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top