2

Excelファイルからいくつかのデータを取得しました。

ユーザーが有効な日時文字列を入力したことを検証したい。DateTime.Parse メソッドを使用しようとしましたが、特定の値が受け入れられるようです。

例えば、

3.3 を日時として送信すると、DateTime.Parse メソッドによって有効な日時として受け入れられ、2012 年 3 月 3 日 00:00:00 が出力されます。

これをブロックしたい。ユーザーが正しい形式の日時を入力することのみを許可します。

たとえば、ユーザーは 03/03/2012 または 03/03/2012 12:30:00 を指定できますが、01022012 または 3.3.2012 のような値は指定できません。

何か案は?

4

3 に答える 3

2

使用したい、DateTime.ParseExactまたはDateTime.TryParseExact

これにより、選択した日付形式の文字列から解析できます。

http://msdn.microsoft.com/en-us/library/system.datetime.tryparseexact.aspx

ここに例: -

http://msdn.microsoft.com/en-us/library/ms131044.aspx

于 2012-11-05T10:33:58.973 に答える
1

これには正規表現を使用できます。@"\d{2}/\d{2}/\d{4}(\s+\d{2}\:\d{2}\:\d{2})?"

于 2012-11-05T10:33:21.650 に答える
1

このようなさまざまなjqueryプラグイン/関数を使用してクライアント側で処理するか、単純なGoogle検索で他の多くの有用な結果を返すことができます.

サーバー側で処理したい場合 (作業しているプロジェクトがわかりません)、それに応じて独自のメソッドを記述したり、Regex またはData Annotation MVCを使用したりできます。

それでも問題が解決しない場合は、適切なソリューションを提供するのに役立つ、言語、アーキテクチャなど、プロジェクトに関する詳細をいくつか追加してみてください。

それが役に立てば幸い。ありがとうございました

于 2012-11-05T10:45:01.067 に答える