ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery_jquery で時刻形式を検証するための正規表現のまとめ

jQuery_jquery で時刻形式を検証するための正規表現のまとめ

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-05-16 17:22:011545ブラウズ

コードでは jQuery が使用されており、渡されるパラメーターは jQuery によって選択された入力オブジェクトです。原則: 最初に通常の一致を使用し、次に時、分、秒を抽出して、それらが通常の範囲内であるかどうかを確認します。

コードをコピー コードは次のとおりです:

/**
* 時間が形式に準拠しているかどうかを確認します
* @param {Object} timeTextBox
*/
関数 checkTime(timeTextBox){
var time = timeTextBox.val();
var regTime = /^([0-2][0-9]):([0-5][0- 9]) :([0-5][0-9])$/;
var result = false;
if (regTime.test(time)) {
if ((parseInt(RegExp. $1) ) {
$ ("#ERRMSG"). "");
} else {
Timetextbox.attr ({
値: "
}); .focus();
$("#errmsg").html("Timeフォーマット エラー");
}
結果を返します;
}



例 2
js 正規表現を直接使用して例を示します

コードをコピー

<br> <meta name="Generator" content="EditPlus"> <br> <meta name="Author" content=""> <br> <br> <meta name="説明" content=""> <br> <br>
日付誕生:

<script> <BR>var DATE_FORMAT = /^[0-9]{4}-[0-1]?[0-9]{1}-[0-3]?[0-9]{1}$/;<BR>function checkDate (){<BR> varbirthday = document.getElementById("birthday").value;<BR> if(DATE_FORMAT.test(birthday)){<BR>alert("入力した日付は正しい形式");<BR> } else {<BR>alert("申し訳ありませんが、入力した日付形式が間違っています。正しい形式は「2012-01-01」である必要があります。");<BR> }<BR> }<BR> </script>> ;




jquery 検証時間

時間を検証するための正規表現のコレクション

//日付形式 yyyy
PatternsDict.date_y= /^(d{4})$/;

//日付形式 yyyy-mm

PatternsDict.date_ym= /^(d{4})-(0d{1}|1[0-2])$/;
//日付形式 yyyy-mm-dd

PatternsDict.date_ymd= /^(d{4})-(0d{1}|1[0-2])-(0d{1}|[12 ]d{1}|3[01])$/;

//時間形式 hh
PatternsDict.time_h=/^(0d{1}|1d{1}|2[0-3])$/;

//時間形式 hh:mm

PatternsDict.time_hm=/^(0d{1}|1d{1}|2[0-3]):([0-5]d{1})$ /;

//時間形式 hh:mm:ss

PatternsDict.time_hms=/^(0d{1}|1d{1}|2[0-3]):[0-5]d{1}: ([0-5]d{1})$/;

形式は時間です。つまり、最初の 2 桁は 23 より小さくてはならず、23 より大きくすることはできません。また、続く時間と分は 59 より大きくすることはできません。これらは 16 ではなく 16:02:01 で書かれなければなりません。 :2: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 ページ内:

表示: 2004-8-11 19:44:28

私必要な場合のみ: 2004-8-11 ]




どのように変更すればよいでしょうか?


[日付の形式]
通常はオブジェクト
((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]))$

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。