-3

この正規表現の何が問題になっていますか? うまくいきません

var patt = /[0-9]{2}/[0-9]{2}/[1-9]{4}/;

if(patt.test(document.getElementById('date').value) == false){
    document.getElementById("errorTxt").innerHTML = "Error";
    return false;
}
4

4 に答える 4

0

正規表現内でスラッシュを使用するには、スラッシュをエスケープする必要があります。

var patt = /[0-9]{2}\/[0-9]{2}\/[1-9]{4}/;

関連する注記では、\dを使用して任意の数字を表すことができます。

var patt = /\d{2}\/\d{2}\/\d{4}/;
于 2012-06-22T16:03:41.807 に答える
0

さて、にあるとき、どのように年2012をと一致させることができますか?[1-9]{4}0yyyy

正規表現を使用/\d{2}\/\d{2}\/\d{4}/すると、日付を数値に分割できますが...

代わりにJavaScriptの日付検証を使用する必要があります。

于 2012-06-22T16:04:43.027 に答える
0

/途中で脱出する必要があります。

var patt = /\d\d\/\d\d\/\d{4}/;

また、2012 年を有効な年として許可しなかったのはなぜですか?

于 2012-06-22T16:02:31.777 に答える
0

/パターンの途中で脱出する必要があります。それらを作る\/

于 2012-06-22T16:02:59.503 に答える