コードでは jQuery が使用されており、渡されるパラメーターは jQuery によって選択された入力オブジェクトです。原則: 最初に通常の一致を使用し、次に時、分、秒を抽出して、それらが通常の範囲内であるかどうかを確認します。
コードをコピー
時間を検証するための正規表現のコレクション
//日付形式 yyyy
PatternsDict.date_y= /^(d{4})$/;
PatternsDict.date_ym= /^(d{4})-(0d{1}|1[0-2])$/;
//日付形式 yyyy-mm-dd
//時間形式 hh
PatternsDict.time_h=/^(0d{1}|1d{1}|2[0-3])$/;
PatternsDict.time_hm=/^(0d{1}|1d{1}|2[0-3]):([0-5]d{1})$ /;
PatternsDict.time_hms=/^(0d{1}|1d{1}|2[0-3]):[0-5]d{1}: ([0-5]d{1})$/;
[0-2][0-3]:[0-5][0-9]:[0-5][0-9]
CompareValidator を使用します
演算子を DateTypeCheck に設定しますタイプを Date に設定します
これは YYYY-MM-DD の形式で、基本的に閏年と 2 月を考慮していますが、どこで見つけたか忘れてしまいました。
^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]| [12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0 ?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9 ]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26]) |((16|[2468][048]|[3579][26])00))-0?2-29-))$
以下は時間検証を追加したものです
^((((1[6-9]|[2-9]d)d{2})-(0?[13578]|1[02])-(0?[1-9]| [12]d|3[01]))|(((1[6-9]|[2-9]d)d{2})-(0?[13456789]|1[012])-(0 ?[1-9]|[12]d|30))|(((1[6-9]|[2-9]d)d{2})-0?2-(0?[1-9 ]|1d|2[0-8]))|(((1[6-9]|[2-9]d)(0[48]|[2468][048]|[13579][26]) |((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?d):[ 0-5]?d:[0-5]?d$
[aspx ページ内: <%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>表示: 2004-8-11 19:44:28
私必要な場合のみ: 2004-8-11 ]
<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>
どのように変更すればよいでしょうか?
[日付の形式]
通常はオブジェクト
((DateTime)objectFromDB).ToString("yyyy-MM-dd");
A. 次の正しい入力形式: [2004-2-29]、[2004-02-29 10:29:39 pm]、[2004/12/31]
^((d { 2}(([02468][048])|([13579][26]))[-/s]?((((0?[13578])|(1[02]))[-/s ] ?((0?[1-9])|([1-2][0-9])|
(3[01])))|(((0?[469])|(11 ) )[-/s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[-/s]?(( 0 ?[1-9])|([1-2][0-9])))))
|(d{2}(([02468][1235679])|([13579][01345789 ] ))[-/s]?((((0?[13578])|(1[02]))[-/s]?((0?[1-9])|([1-2] [ 0-9])
|(3[01])))|(((0?[469])|(11))[-/s]?((0?[1-9])| ( [1-2][0-9])|(30)))|(0?2[-/s]?((0?[1-9])|(1[0-9])|( 2 [0-8]))))))(s(((0?[1-9])|(1[0-2])):([0-5][0-9])(( s )|(:([0-5][0-9])s))([AM|PM|am|pm]{2,2})))?$
B. 以下は正しい入力形式: [0001-12-31]、[9999 09 30]、[2002/03/03]
^d{4}[-/s]?(((0[13578] )|(1[02]))[-/s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11) )[-/s]?(([0-2][0-9])|(30)))|(02[-/s]?[0-2][0-9]))$