2012-06-19 33 views
2

我用javascript驗證日期字段,有我需要驗證DD/MM/YY一個單一的數字日期前加一個零在javascript

如果用戶輸入的日期爲10/06/2012它會有效

如果用戶輸入的日期爲3/06/2012意味着我們需要在日期前添加0作爲03/06/2012。與您的代碼

collector[0] = "0" + collector[0]; 

我的javascript代碼是

$('#date').blur(function() { 
      var collector = $('#date').val(); 
      collector = collector.split("/"); 
      if (collector[0].length != 2) { 
       if (collector[0].length == 1) { 
        //here code for make it as two digit 
       } 
      } 
      else 
      { 
      alert('Date is not entered properly'); 
      } 
}); 

我的HTML

Date: <input type="text" id="date" name="date" /> 

如何用JavaScript做

+1

[你有什麼試過?](http://whathaveyoutried.com) –

+3

'collector [0] =「0」+ collector [0];'? – ManseUK

+1

爲什麼需要'03/06/2012'而不是'3/06/2012'? – jcolebrand

回答

6

試試這個

$('#date').blur(function() { 
    var collector = $('#date').val(); 
    collector = collector.split("/"); 
    if (collector[0].length != 2) { 
     if (collector[0].length == 1) { 
      collector[0] = "0" + collector[0]; 
     } 
    } 
    else { 
     alert('Date is not entered properly'); 
    } 
    // set the val again 
    $('#date').val(collector.join('/')); 
});​ 

Working example here

4

它可能更容易解析字符串作爲一個真正的日期,然後使用Javascript date formatting,它已經提供了一個辦法留住領先的日和月零:

var date = Date.parse($('#date').val()); 
var strDate = date.format('dd/mm/yyyy'); 

注意:'d'不會保留前導零,但'dd'會。同樣適用於'm'和'mm'。

+1

添加庫只是爲了填充一個字段的值? – charlietfl

+0

你說得對。我喜歡@ManseUK給出的答案更好,因爲添加到現有代碼更簡單 – BumbleB2na

相關問題