Hướng dẫn how to validate time in php - cách xác nhận thời gian trong php
Dựa trên câu trả lời thanh lịch của Charles với biểu thức chính quy. Nếu bạn cần xác thực một dòng của cả Show
Giải trình
0 trong điều kiện là xác nhận RegEXPcondition is the regexp assertion 1 trong có mô hình là tùy chọn để có hiệu suất tốt hơn và bạn có thể bỏ nó. Điều này có nghĩa là chúng tôi không cần bất kỳ sự bắt giữ nào trong ngoặc đơn 2, chúng tôi chỉ cần tính năng thay thế.yes-pattern is optional for better performance and you may drop it. This means we don't need any capturing within parentheses 2, we need
just alternatives feature.Vì vậy, chúng tôi chỉ mô tả những điều sau đây:
CẬP NHẬTNhư họ nói, sự đơn giản là em gái của một tài năng. Chúng tôi không nhất thiết cần các mẫu điều kiện được mô tả ở trên. Xác thực đơn giản hơn của 9 cho định dạng 24 giờ:24-hour format:
Một lần nữa, 1 trong nhóm dấu ngoặc đơn 2 là tùy chọn để vô hiệu hóa việc bắt giữ, bạn có thể bỏ nó.Vì vậy, trong RegEXP này, các bản phân từ thay thế với 2 đang cố gắng khớp hai giờ ở mẫu đầu tiên ( 3) và thứ hai ( 4), sau đó một chữ số ở phần ba cuối cùng ( 5).Ngoài ra, việc xác nhận 9 cho định dạng 12 giờ:12-hour format:
Ở đây, chúng tôi đang cố gắng kết hợp ở một chữ số đầu tiên ( 7) với số không có thể có ( 8), và sau đó là hai chữ số ( 9). Một giải pháp Regex đầy đủ rất có thể sẽ cung cấp cho bạn giải pháp tốt nhất mà không cần rất nhiều bài kiểm tra riêng lẻ. Cũng như phiên bản của Mikesta707, có nhiều cách để làm hỏng nó nếu đó là những gì bạn đang cố gắng làm. Cảm hứng nhận ra một cách đơn giản để mã hóa Regex, đưa ra một regex dài, nhưng giữ cho nó đơn giản, tôi không chắc nó có hoàn hảo không, nhưng dường như giải quyết mọi thứ một cách chính xác ... CODE: 24 ||$bits[1] > 59|| ($bits[0] == 24 && $bits[1] > 0) || count($bits) != 2 || !is_numeric($bits[0]) || !is_numeric($bits[1])){ return "false"; } return "true"; } function check_time($time) { if(preg_match("/^(00|01|02|03|04|05|06|07|08|09|10|11|12|13|14|15|16|17|18|19|20|21|22|23):[0-5][0-9]$/", $time)) { return "true"; } else { return "false"; } } echo "validateMilTime OUTPUT: validateMilTime 00:00 = true 1:10 = true 31:10 = false 25:10 = false 24:00 = true 23:60 = false 23:28 = true 2:1 = true 4:10 = true -12:00 = true 4:-3 = true .2:00 = true 12:.343434 = true check_time 00:00 = true 1:10 = false 31:10 = false 25:10 = false 24:00 = false 23:60 = false 23:28 = true 2:1 = false 4:10 = false -12:00 = false 4:-3 = false .2:00 = false 12:.343434 = false Đừng nghĩ rằng tôi đã thay đổi bất kỳ tên biến nào lần này & nbsp; :-\
Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều
Làm thế nào thời gian kiểm tra là hợp lệ hay không trong PHP?Bạn có thể làm: Nếu (preg_match ('/^(?: [01] [0-9] | 2 [0-3]): [0-5] [0-9] $/', $ input)) {// $ input là định dạng HH: mm hợp lệ.} Điều này sẽ cho phép 24:59.Đó không phải là thời gian hợp lệ.if(preg_match('/^(?:[01][0-9]|2[0-3]):[0-5][0-9]$/',$input)) { // $input is valid HH:MM format. } This would allow 24:59. That's not a valid time.
Làm thế nào để xác thực ngày trong PHP?Hàm kiểm tra () được sử dụng để xác nhận ngày Gregorian.checkdate() function is used to validate a Gregorian date. |