2014-02-24 45 views
2

我很新JavaScript,我一直在試圖弄清楚regular expression這一段時間。 我需要以"mm/yy"的形式驗證用戶條目。這種情況的正則表達式會是什麼?

本月的第一位必須是01。如果是0那麼第二個數字可以從19。如果它是1,那麼第二個數字可以是02。該年可以是1419。它必須有斜線。

這是我到目前爲止有:

var reExp = /^0(?=\d)|1(?=1)|2\/14$/; //RegExp for expiry 


if ($('expiry').value.search(reExp)==-1){ 
    $('expiry').value = ''; 
    $('expiryMsg').style.fontSize="10px"; 
    $('expiryMsg').innerHTML = "Invalid Entry: Must be a valid expiry date."; 
} 
else { 
    $('expiryMsg').innerHTML = "*"; 
    $('expiryMsg').style.fontSize="16px"; 
} 

我想要做的所有驗證的一個表達,這可能嗎?

謝謝!

+1

明年會發生什麼? – nmclean

回答

7

您可以使用此模式:

/^(?:0[1-9]|1[0-2])\/1[4-9]$/ 
+0

是'?:'需要的 –

+1

@SeattleLeonard:並不是真的,但它避免了創建一個捕獲組並記錄該捕獲組所匹配的子字符串。 –