2011-09-03 63 views
9

我使用jquery validation plugin驗證了我的表單。要驗證文本輸入,我所做的只是在屬性中寫入class="required",併爲我進行驗證。使用Jquery驗證時間

現在我想驗證一個輸入,用戶必須輸入時間(比如02:45:00 AM),但是我使用的插件沒有任何時間驗證功能。所以,我要建立一個自定義的驗證,但問題是我沒有的Jquery :(知識

能否請你告訴我怎麼做呢?

在此先感謝

爲了您的信息我需要建立它12小時的時間格式

+0

給一些組合框來選擇用戶的時間,然後你可以驗證這個意思 –

回答

21

您可以使用jQuery校驗addMethod()

<html> 
<head> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script> 
<script src="http://ajax.aspnetcdn.com/ajax/jQuery.Validate/1.6/jQuery.Validate.js" type="text/javascript"></script> 
<script type="text/javascript"> 

$().ready(function() { 

$.validator.addMethod("time", function(value, element) { 
return this.optional(element) || /^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$/i.test(value); 
}, "Please enter a valid time."); 

    $("#login").validate({ 
      rules: { 
        time: "required time", 
      }, 

    }); 

}); 

</script> 
</head> 
<body> 
    <form id="login" name="login" method="post" action="#"> 
    <h1>Time Validation</h1><br /> 
    <label for="time">Enter Time</label> 
    <input id="time" name="time" type="text" value="" tabindex="1" /><br /> 
    <input id="submit" name="submit" type="submit" value="Submit" tabindex="2" /> 
</form> 
</body> 
</html>​ 

這裏是一個的jsfiddle - http://jsfiddle.net/e2DzT/

我希望這有助於。

+0

非常感謝 - Martyhines。你能否請告訴我在這裏寫什麼代碼 - 返回this.optional(element)||/^(([0-1] [0-9])|([2] [0-3])):(?[0-5] [0-9])(:([0-5] ?[0-9]))$/i.test(值)?; (例如:02:30 AM)*不允許24小時格式(no-21:20) –

+6

您可以使用'^(([0-1]?[0-2]) |([2] [0-3])):([0-5] [0-9])(?:?([0-5] [0-9])?(A | p)的米)$ '驗證上午12點34分56秒或下午,或者你可以使用'^(([0-1]?[0-2])|([2] [0-3])):([0-5 ]?[0-9])(a | p)m?$'爲上午12:34或下午。看看http://rubular.com/來玩這些正則表達式。 – martyhines

+0

它工作完美。非常感謝你..爲你提供幫助。 :) –