Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ungkapan biasa PHP untuk mengesahkan kekuatan nama pengguna dan kata laluan

Ungkapan biasa PHP untuk mengesahkan kekuatan nama pengguna dan kata laluan

王林
王林asal
2023-06-25 08:23:031183semak imbas

Dalam pembangunan laman web, pengesahan nama pengguna dan kata laluan adalah bahagian yang sangat penting dalam reka bentuk pendaftaran pengguna dan antara muka log masuk. Untuk memastikan keselamatan dan privasi pengguna, kami perlu mengesahkan dan menyekat data input ini dengan ketat. Dalam proses ini, ungkapan biasa ialah alat yang sangat berkuasa untuk mengesahkan dan mengehadkan kekuatan nama pengguna dan kata laluan.

PHP ialah bahasa pengaturcaraan yang berjalan di bahagian pelayan dan mempunyai sokongan ekspresi biasa yang kaya. Mari kita lihat cara menggunakan ungkapan biasa dalam PHP untuk mengesahkan kekuatan nama pengguna dan kata laluan.

  1. Sahkan Nama Pengguna

Apabila mengesahkan nama pengguna, kita perlu mengambil kira aspek berikut:

  • Panjang: Panjang nama pengguna hendaklah antara 6-20 aksara.
  • Set aksara: Nama pengguna hanya boleh mengandungi huruf, nombor dan garis bawah.
  • Mula dan tamat: Permulaan dan penghujung nama pengguna tidak boleh digaris bawah.

Berdasarkan keperluan di atas, kita boleh menggunakan ungkapan biasa berikut untuk mengesahkan nama pengguna:

/^[a-zA-Z0-9_]{6,20}$/ 

Ungkapan biasa ini bermaksud:

  • ^ mewakili permulaan rentetan.
  • [] mewakili set aksara, yang mengandungi huruf, nombor dan garis bawah.
  • {} bermaksud panjang terhad, di sini bermakna panjangnya antara 6-20.
  • $ mewakili penghujung rentetan.

Gunakan fungsi preg_match() untuk mengesahkan nama pengguna Kod sampel adalah seperti berikut:

$pattern = '/^[a-zA-Z0-9_]{6,20}$/';
$username = "myUsername_123";
if (preg_match($pattern, $username)) {
    echo "用户名格式正确";
} else {
    echo "用户名格式不正确";
}
  1. Sahkan kata laluan

Apabila mengesahkan kata laluan, kami perlu mengambil kira aspek berikut:

    : panjang kata laluan hendaklah antara 8-16 aksara.
  • Set aksara: Kata laluan boleh mengandungi huruf besar dan huruf kecil, nombor dan aksara khas.
  • Kerumitan: Kata laluan mesti mengandungi sekurang-kurangnya satu huruf besar, satu huruf kecil, satu nombor dan satu aksara khas.
Berdasarkan keperluan di atas, kami boleh menggunakan ungkapan biasa berikut untuk mengesahkan kata laluan:

/^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[@$!%*?&])[A-Za-zd@$!%*?&]{8,16}$/

Ungkapan biasa ini bermaksud:

    ^ mewakili permulaan rentetan.
  • (?=.*[a-z]) bermaksud ia mesti mengandungi sekurang-kurangnya satu huruf kecil.
  • (?=.*[A-Z]) bermakna ia mesti mengandungi sekurang-kurangnya satu huruf besar.
  • (?=.*d) bermakna ia mesti mengandungi sekurang-kurangnya satu nombor.
  • (?=.
  • [@$!%?&]) bermakna ia mesti mengandungi sekurang-kurangnya satu aksara khas.
  • [A-Za-zd@$!%*?&] bermakna ia mengandungi huruf besar dan kecil, nombor dan aksara khas.
  • {8,16} bermaksud panjang kata laluan adalah antara 8-16 aksara.
  • $ mewakili penghujung rentetan.
Gunakan fungsi preg_match() untuk menyemak kata laluan Kod contoh adalah seperti berikut:

$pattern = '/^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[@$!%*?&])[A-Za-zd@$!%*?&]{8,16}$/';
$password = "myPassword_123!";
if (preg_match($pattern, $password)) {
    echo "密码格式正确";
} else {
    echo "密码格式不正确";
}

Melalui kod contoh di atas, kita dapat melihat kuasa ungkapan biasa PHP, yang boleh menyemak nama pengguna dan kata laluan dengan cepat dan Had. Dalam pembangunan tapak web sebenar, kami boleh membuat pelarasan dan pengoptimuman yang disasarkan berdasarkan keperluan khusus dan keperluan keselamatan.

Atas ialah kandungan terperinci Ungkapan biasa PHP untuk mengesahkan kekuatan nama pengguna dan kata laluan. 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