-3

asp.net では、テキスト ボックス コントロールが ".aspx" で終わる場合は検証する必要があります。それ以外の場合は、エラー メッセージが表示されます。この条件のカスタム正規表現を作成する方法を教えてください。

4

3 に答える 3

1

RegEx の使用に固執している場合は、次のようなことを試すことができます。

private bool ValidateFilename(string input)
{ 
    RegEx r = new RegEx(@".*?\.aspx$");
    return r.IsMatch(input);
}

ただし、この状況では RegEx が必ずしも最良の選択であるとは限りません。

于 2013-03-28T08:56:52.730 に答える
-1

最後の 5 文字を取得して確認するだけで、そのための正規表現は必要ありません....

(それを行う前に長さを確認してください...)

これは正規表現です:

".*?\.aspx$"

于 2013-03-28T08:15:32.640 に答える
-1

正規表現を使用する必要はありませんが、どうしても使用したい場合は、次を試してください。

MatchCollection matches = Regex.Matches(TextBox1.Text, ".*?\.aspx$"); 

                string[] var_matches = matches.Cast<Match>()
                                         .Select(match => match.Value)
                                         .ToArray();

if (var_matches.Length > 0)
{
   // do stuff
}

編集

asp:RegularExpressionValidatorを使用する場合は、次を試してください。

 <asp:RegularExpressionValidator ID="RegularExpressionValidator1"  ValidationExpression=".*?\.aspx$" ControlToValidate="TextBox1" 
    runat="server" ErrorMessage="Error!"></asp:RegularExpressionValidator>
于 2013-03-28T08:17:03.147 に答える