1

mm/yyyyのような日付形式を検証するための正規表現は何でしょうか。正規表現は初めてです

$.validator.addMethod(
"customDate",
function(value, element) {
    return value.match(?);
},
"Please enter a date in the format mm/yyyy"
);

誰かがこの点で私を助けることができますか?

4

4 に答える 4

3

RobGの機能の拡張:

function validateDate(s) {
  return /^([1-9]|1[0-2])\/[12]\d{3}$/.test(s);
}

([1-9]|1[0-2])1-9または10-のいずれかであることを確認します12。 年が3つの数字であるか、その後に続く[12]\d{3}ことを確認してください(したがって、この場合の有効な範囲は-です。より具体的な値が必要な場合は、質問を更新してください。1210002999

編集 代わりに01〜12の月の値が必要な場合は、正規表現を次のように変更します。

/^(0[1-9]|1[0-2])\/[12]\d{3}$/

于 2012-05-25T00:54:46.213 に答える
2

「有効」の基準は何ですか?十分です/^\d{2}/\d{4}$/か、それとも月が1から12までであることを確認する必要がありますか?

また、テストを使用する方がはるかに適切です。

function validateDate(s) {
    return /^\d{2}\/\d{4}$/.test(s);
}

またはより効率的なバージョン(正規表現を1回だけ作成します):

var validateString = (function() {
    var re = /^\d{2}\/\d{4}$/;
    return function(s) { return re.test(s);}
}());
于 2012-05-25T00:47:36.563 に答える
0

この正規表現を試してください:

var regex = /^(\d{2})[\/](\d{4})$/.exec(date);

その後、1000年後などの範囲外の正規表現サブグループを確認できます。

于 2012-05-25T00:43:47.237 に答える
0

ここに行く:

/^[01]?\d\/\d{4}$/
于 2012-05-25T00:53:56.217 に答える