Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesahkan input dalam format masa tertentu menggunakan ungkapan biasa dalam PHP

Bagaimana untuk mengesahkan input dalam format masa tertentu menggunakan ungkapan biasa dalam PHP

PHPz
PHPzasal
2023-06-24 12:28:371430semak imbas

Dalam PHP, ungkapan biasa sangat biasa digunakan, terutamanya apabila mengesahkan data input. Dalam sesetengah kes, kami perlu mengesahkan input dalam format masa tertentu Dalam kes ini, kami perlu menggunakan ungkapan biasa untuk membantu memadankan pengesahan. Dalam artikel ini, kami akan menerangkan cara menggunakan ungkapan biasa untuk mengesahkan format masa tertentu.

Langkah 1: Fahami format masa

Sebelum kita mula menulis ungkapan biasa, kita perlu memahami format masa terlebih dahulu. Biasanya, format masa boleh menjadi 12 jam (am/pm) atau 24 jam, dan mungkin juga termasuk maklumat seperti tahun, bulan, hari dan saat. Format masa biasa mungkin:

  • Format 24 jam: HH:MM:SS
  • Format 12 jam: hh:mm:ss am/pm
  • Termasuk format tarikh: YYYY-MM-DD HH: MM: SS
  • Format lain yang mungkin: MM-DD-YYYY HH:MM:SS

Dalam format di atas, HH mewakili perwakilan dua digit jam, hh mewakili jam dalam format 12 jam dan MM mewakili Nombor minit, SS mewakili saat, pagi/petang mewakili pagi atau petang. YYYY mewakili tahun, MM mewakili bulan dan DD mewakili tarikh.

Langkah 2: Tulis peraturan padanan

Selepas memahami format masa, kita boleh mula menulis ungkapan biasa untuk memadankan format masa input. Berikut ialah beberapa peraturan pemadanan asas:

  • padanan HH:MM:SS dalam format 24 jam
$pattern = "/^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/";
  • padanan hh:mm:ss am/pm dalam format 12 jam
$pattern = "/^(0?[1-9]|1[0-2]):[0-5][0-9]:[0-5][0-9] (am|pm)$/i";
termasuk tarikh
  • YYYY-MM-DD HH:MM:SS
$pattern = "/^(19|20)dd[-/.](0[1-9]|1[012])[-/.](0[1-9]|[12][0-9]|3[01]) ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/";
  • Padan dengan format lain yang mungkin: MM-DD-YYYY HH:MM:SS
$pattern = "/^(0[1-9]|1[012])[-/.](0[1-9]|[12][0-9]|3[01])[-/.](19|20)dd ([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/";

Dalam ungkapan biasa di atas, beberapa ciri khas ungkapan biasa digunakan Aksara, seperti "|" bermaksud "atau", "^" bermaksud memadankan permulaan rentetan, "$" bermaksud memadankan hujung rentetan, "d" bermaksud memadankan aksara angka, "01" bermaksud memadankan permulaan 0 atau 1 dua digit, dsb.

Langkah 3: Gunakan fungsi preg_match untuk mengesahkan input

Dengan peraturan padanan di atas, kami boleh menggunakan fungsi preg_match untuk mengesahkan sama ada format masa input mematuhi peraturan. Fungsi preg_match boleh menerima tiga parameter, iaitu ungkapan biasa, rentetan yang akan disahkan dan tatasusunan pilihan hasil padanan. Dalam contoh ini, kami hanya menggunakan dua parameter pertama dan kodnya adalah seperti berikut:

$pattern = "/^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$/";
$time = "14:30:25";

if (preg_match($pattern, $time)) {
  echo "Time format is valid";
} else {
  echo "Time format is invalid";
}

Kod di atas akan mengeluarkan "Format masa adalah sah" kerana 14:30:25 mematuhi peraturan padanan ungkapan biasa bagi 24- format masa jam.

Perlu diambil perhatian bahawa sebelum menggunakan ungkapan biasa untuk mengesahkan format masa, anda perlu memastikan bahawa rentetan input berada dalam format masa yang sah, jika tidak, keputusan pengesahan akan menjadi tidak tepat. Pada masa yang sama, peraturan ungkapan biasa yang berbeza mesti digunakan secara fleksibel mengikut keperluan sebenar.

Ringkasan

Menggunakan ungkapan biasa untuk mengesahkan input dalam format masa tertentu dalam PHP adalah keperluan yang sangat biasa. Pengesahan format masa boleh dilaksanakan dengan mudah dengan memahami format masa, menulis peraturan padanan dan menggunakan fungsi preg_match untuk mengesahkan input. Saya harap kandungan yang diperkenalkan dalam artikel ini akan membantu pembaca.

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan input dalam format masa tertentu menggunakan ungkapan biasa dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn