2013-02-08 42 views
12

Muốn hỏi về biểu thức Regex có thể cho định dạng thời gian 24 giờ trong HTML 5 (HH: MM).regex thời gian 24 giờ cho HTML 5

nếu có thể, vui lòng cho regex mà có thể được sử dụng trong các thuộc tính Pattern của HTML 5

Hiện dự kiến ​​sẽ được ở định dạng 24 giờ (HH không quá 23).

Trân trọng!

Trả lời

14

Tôi nghĩ rằng đây là một phương pháp có thể:

<input type="text" pattern="([01]?[0-9]|2[0-3]):[0-5][0-9]" id="24h"/> 
<input type="text" pattern="([01]?[0-9]{1}|2[0-3]{1}):[0-5]{1}[0-9]{1}" id="24h"/> 

http://www.mkyong.com/regular-expressions/how-to-validate-time-in-24-hours-format-with-regular-expression/

([01]?[0-9]|2[0-3]):[0-5][0-9] 

Check-out jsfiddle này: example

+0

Cảm ơn bạn .. đã xem nó sớm hơn nhưng không hoạt động .. có thể đã thiếu một dấu ngoặc đơn .. :). Cảm ơn bạn mặc dù .. –

+1

@AbdulAli kiểm tra ý kiến ​​của tôi ra –

+0

Cũng như bạn có thể thấy nó hoạt động. –

11

Đây là mã:

<input type="text" pattern="[0-2]{1}[0-9]{1}:[0-5]{1}[0-9]{1}" /> 

nó cho phép các giá trị giờ không hợp lệ: 24,25,26,27,28,29, nếu bạn muốn trở thành phụ chính xác bạn có thể làm điều đó theo cách đó:

regex ngắn
<input type="text" pattern="([0-1]{1}[0-9]{1}|20|21|22|23):[0-5]{1}[0-9]{1}" /> 
+0

Nếu nói về thời gian, chắc chắn tôi muốn thêm đúng cách, Cảm ơn bạn, nó làm việc như một say mê! – Daniel

1

Một chút :

(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1} 

Vì vậy, trong hoàn: "(:)"

<input type="text" pattern="(?:[01]|2(?![4-9])){1}\d{1}:[0-5]{1}\d{1}" /> 

trong phi chụp nhóm đầu tiên(), chúng tôi MATC h chính xác một chữ số, hoặc 0, 1 hoặc 2 không theo sau là 4-9 (dấu nhìn tiêu cực "(?!)"). Sau đó, tôi kết hợp thêm một chữ số, vì nó có thể là bất kỳ 0-9, chúng ta có thể đi với \ d phím tắt. Sau đó, chúng tôi kết hợp dấu tách ":". Sau đó, một chữ số nằm trong khoảng từ 0 đến 5 từ 0-9 (lại với "\ d"). Nếu vì lý do nào đó bạn cần phải phù hợp với 24 giờ (đôi khi bạn làm), sau đó chỉ cần điều chỉnh lookahead tiêu cực, e. g. "(?! [5-9])".

+0

Bạn có thể làm cho nó ngắn hơn bằng cách loại bỏ '{1}', không có tác dụng gì cả. –

Các vấn đề liên quan