簡體   English   中英

html5使用模式的時間驗證問題

[英]html5 time validation issue using pattern

我在構建驗證中使用HTML5,但是對於Time,我正在使用以下代碼該代碼非常簡單,因為它只是檢查時間的格式,我不確定在這里我做錯了什么

<input name="taskStartTime" type="text" value="05:15 PM" placeholder="Enter a valid start time." size="10" pattern="/^\d{1,2}:\d{2}([ap]m)?$/" title="Enter Valid Time">

但這並沒有驗證,它說的是無效時間,我認為我的正則表達式是正確的,但不確定這里發生了什么...

刪除正斜杠:它們是JavaScript regex文字語法的一部分,而不是常規regex語法的一部分。 您實際上並不需要^$ ,因為對於輸入元素模式而言,它們是隱含的。

您在示例中設置的值( 05:15 PM也不會與您的正則表達式匹配,因為其中有空格並且“ PM”用大寫字母表示。 為此:

pattern="\d{1,2}:\d{2}( ?[apAP][mM])?"

注意,對於HTML5的輸入pattern屬性,你可以不設置i不區分大小寫標志的JavaScript(和一些其他的正則表達式實現)允許。 根據規范,它確實對模式本身使用了JS語法,但是“它是在禁用了global,ignoreCase和multiline標志的情況下編譯的”。

嘗試這個

 <input name="taskStartTime" type="text" value="05:15 PM" placeholder="Enter a valid start time." size="10" pattern="^\\d{1,2}:\\d{2}\\s([AP]M)?$" title="Enter Valid Time"> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM