2

重複の可能性:
JavaScriptで日付をフォーマットする

たくさんのフィールドがあるフォームがあり、すべてJavaスクリプトで検証されており、そのうちの1つは日付用です。

<td>Credit Card Expiration Date</td><td>:<input class="input" type="text" name="CC_expiration_date" id="CC_expiration_date"><p>(MM/YY)</p></td>

ここで、ユーザーは日付を(MM / YY)形式で入力する必要があります。JavaScriptを使用してこれを検証するにはどうすればよいですか?

正規表現を作成しようとしました:

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

...しかし動作しませんでした。

4

4 に答える 4

4

このシンプルな機能を試してみてください。

function validDate(dValue) {
  var result = false;
  dValue = dValue.split('/');
  var pattern = /^\d{2}$/;

  if (dValue[0] < 1 || dValue[0] > 12)
      result = true;

  if (!pattern.test(dValue[0]) || !pattern.test(dValue[1]))
      result = true;

  if (dValue[2])
      result = true;

  if (result) alert("Please enter a valid date in MM/YY format.");
}
于 2012-09-11T10:57:16.157 に答える
3

正規表現を使用できます。

var s = "11/12";
/^(0[1-9]|1[0-2])\/\d{2}$/.test(s);

最初の部分 は(0[1-9]|1[0-2])、月の部分を検証します。つまり、値が の範囲内にあることを検証します01-12。2 番目の部分は\d{2}、2 桁の年を検証します。

于 2012-09-11T10:41:16.263 に答える
0

これを試して..

DD-MM-YYYY==>の場合var dateReg = /^\d{2}[./-]\d{2}[./-]\d{4}$/

MM-YY==>の場合var dateReg = /^\d{2}[./-]\d{2}$/

正規表現について知ってください。http://docs.oracle.com/javase/tutorial/essential/regex/char_classes.html

詳細はこちら

于 2012-09-11T10:47:03.427 に答える
0
var d = "09/11"
var pattern = /^(0[1-9]|1[012])\/\d{2}$/
pattern.test(d)
于 2012-09-11T11:20:34.750 に答える