Есть ли библиотека, которую я могу использовать в своем текущем приложении ASP.NET для проверки строк запросов?
Изменить ~ Использование Regex для поиска шаблонов, таких как только строки, только числовые, строки с длиной x,... и т.д.
Спасибо
Есть ли библиотека, которую я могу использовать в своем текущем приложении ASP.NET для проверки строк запросов?
Изменить ~ Использование Regex для поиска шаблонов, таких как только строки, только числовые, строки с длиной 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;
}
Это хорошая бесплатная программа, помогающая создавать регулярные выражения: Expresso.
Лучшим подходом для такого рода вещей, вероятно, будет использование регулярных выражений для проверки любого условия, которое вы ищете.
В реальном сценарии было бы хорошо отделить проверку от презентации, но только для примера:
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=white
Request.QueryString["fruit"] даст вам "яблоко", а Request.QueryString["socks"] даст вам "белый".
Если вы говорите о проверке строки запроса для запросов по мере их поступления, .NET Framework уже делает это. У страницы есть свойство с именем ValidateRequest, которое по умолчанию имеет значение true, и что-либо недопустимое в строке запроса вызовет ошибку (при первом доступе к строке запроса в вашем коде) без необходимости что-либо делать.
Если вы говорите о проверке строк запроса, которые у вас есть как данные или что-то в этом роде, тогда это Статья MSDN Mag может вам помочь.
РЕДАКТИРОВАТЬ: я вижу, вы больше спрашиваете о проверке данных. Вы должны найти кое-что хорошее в статье MSDN, на которую я ссылался выше.