2009-08-31 3 views
1

今後の日付のみを受け入れるようにテキストボックスを検証したいと考えています。私は同じもののための正規表現を持つことはできますか?将来の日付のVB.NET正規表現

私はコーディングにvb.netを使用しています。

ありがとうございました。

マノイ

+0

@Manoj:使用中のテクノロジを指定するタグを使用します(wpf/winforms/asp.net)。より正確な答えが得られます。 –

答えて

5

なぜ正規表現を使用するのですか?ユーザーが入力した日付をDateTimeに解析するのは簡単ではないでしょうか?DateTime.Nowと比較して、それが大きいことを確認してください。私はあなたはそれが有効なクライアント側を持つことができますので、あなたは正規表現をしたいと推定

Imports System 

Class Test 
    Private Shared Sub Main() 
        Console.WriteLine(isFutureDate("5/16/1984")) 
        Console.WriteLine(isFutureDate("5/16/2010")) 
    End Sub 
    
    Private Shared Function isFutureDate(ByVal candidate As String) As Boolean 
        Dim future As DateTime 
        
        DateTime.TryParse(candidate, future) 
        
        Return future > DateTime.Now 
    End Function 
End Class 
2

:ここ

は一例ですか?サーバーサイドとクライアントサイドの両方のコードで、カスタムバリデーターを使う方が良いでしょう。カスタムバリデータのClientValidationFunctionプロパティを使用して、クライアントサイドコードを設定できます。サーバ側の場合

あなたは(チェックされていない、私の頭の上から)あなたのページに次のスクリプトのようなものを埋め込むんだろう、クライアント側のコードについては

<script language="JavaScript"> 
<!-- 
    function CheckPrime(sender, args) 
    { 
    var currentDate = new Date(); 
    var enteredDate = new Date(args.Value); 

    if (enteredDate > currentDate) 
     args.IsValid = true; 
    else 
     args.IsValid = false; 
    } 
// --> 
</script> 

あなたは、通常のチェックを行うだろうあなたはVBでしたい。サーバーのチェックは、クライアントスクリプトの結果に関係なく常に実行されます。

+0

日付のテキストボックスにこのコードをどのように使用しますか?私は完全なコードを同じにすることができます –

+0

すべてのクライアントがWebクライアントではありません。 –

+0

ああ、これは本当です、正規表現の要件は、私は彼が標準正規表現のASP.NETバリデータを使用しようとしていると思った – blowdart