Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan ungkapan biasa untuk mengesahkan format kata laluan dalam PHP

Cara menggunakan ungkapan biasa untuk mengesahkan format kata laluan dalam PHP

WBOY
WBOYasal
2023-06-22 11:15:071628semak imbas

Pengesahan kata laluan ialah fungsi yang kerap digunakan semasa menulis program PHP. Ungkapan biasa ialah alat berkuasa yang boleh membantu kami mengesahkan format kata laluan dengan cepat dan berkesan. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk mengesahkan format kata laluan dalam PHP untuk rujukan oleh pembangun PHP.

Pertama sekali, kita perlu memahami kekuatan kata laluan, kerana kata laluan yang baik harus mempunyai keselamatan yang baik. Kata laluan yang baik hendaklah mengandungi sekurang-kurangnya:

  1. Huruf besar
  2. Huruf kecil
  3. Nombor
  4. Aksara khas (seperti @, #, $ , dsb. )

Kata laluan yang kukuh juga memerlukan kata laluan lebih panjang daripada 8 aksara. Oleh itu, kita perlu menggunakan ungkapan biasa untuk mengesahkan sama ada kata laluan mematuhi peraturan ini.

Berikut ialah contoh ungkapan biasa yang boleh mengesan sama ada ia mengandungi huruf besar, huruf kecil dan nombor dan sama ada panjang kata laluan memenuhi keperluan.

/^(?=.*[A-Z])(?=.*[a-z])(?=.*d).{8,}$/

Mari kita terangkan satu persatu ungkapan biasa ini:

  • ^ mewakili permulaan ungkapan biasa.
  • (?=.*[A-Z]) bermaksud terdapat sekurang-kurangnya satu huruf besar dalam rentetan.
  • (?=.*[a-z]) bermaksud terdapat sekurang-kurangnya satu huruf kecil dalam rentetan.
  • (?=.*d) bermakna terdapat sekurang-kurangnya satu nombor dalam rentetan.
  • .{8,} bermaksud panjang rentetan sekurang-kurangnya 8 aksara.
  • $ menunjukkan penghujung ungkapan biasa.

Seterusnya, kami menggunakan ungkapan biasa dengan fungsi preg_match PHP untuk mengesahkan format kata laluan.

$password = "Abc123!";
$pattern = '/^(?=.*[A-Z])(?=.*[a-z])(?=.*d).{8,}$/';

if (preg_match($pattern, $password)) {
    echo "密码格式正确";
} else {
    echo "密码格式不正确";
}

Kod ini mula-mula mentakrifkan pembolehubah kata laluan dan corak ungkapan biasa, kemudian menghantarnya ke fungsi preg_match. Jika kata laluan sepadan dengan corak ungkapan biasa, ia akan mengeluarkan "Format kata laluan adalah betul", jika tidak, ia akan mengeluarkan "Format kata laluan tidak betul".

Apabila kami menjalankan program ini dan memasukkan kata laluan "Abc123!", ia akan mengeluarkan "Format kata laluan adalah betul". Jika kata laluan yang kami masukkan tidak mematuhi peraturan di atas, ia akan mengeluarkan "Format kata laluan tidak betul".

Selain corak ungkapan biasa di atas, kami juga boleh menggunakan fungsi Password_Regex terbina dalam PHP. Fungsi ini secara automatik mengesahkan bahawa kata laluan memenuhi peraturan kata laluan standard dan mengembalikan benar atau salah.

$password = "Abc123!";
if (password_regex($password)) {
    echo "密码格式正确";
} else {
    echo "密码格式不正确";
}

Dalam kod ini, kami mula-mula mentakrifkan pembolehubah kata laluan dan kemudian menghantarnya ke fungsi password_regex terbina dalam. Jika kata laluan mematuhi peraturan kata laluan standard, ia akan mengeluarkan "Format kata laluan adalah betul", jika tidak, ia akan mengeluarkan "Format kata laluan tidak betul".

Untuk meringkaskan, ungkapan biasa PHP boleh mengesahkan format kata laluan dengan baik. Anda boleh menggunakan fungsi preg_match atau fungsi password_regex terbina dalam untuk mengesahkan bahawa format kata laluan memenuhi keperluan. Untuk pengesahan peraturan kata laluan yang lebih lanjut, kami boleh menyesuaikan corak ungkapan biasa untuk memadankan keadaan yang lebih kompleks. Pilih kaedah yang sesuai untuk dilaksanakan berdasarkan keperluan khusus.

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa untuk mengesahkan format kata laluan 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