Rumah >Java >javaTutorial >Bagaimana untuk Mengesahkan Kata Laluan dalam Java Menggunakan Ungkapan Biasa untuk Menguatkuasakan Panjang, Jenis Aksara dan Sekatan Ruang Putih?

Bagaimana untuk Mengesahkan Kata Laluan dalam Java Menggunakan Ungkapan Biasa untuk Menguatkuasakan Panjang, Jenis Aksara dan Sekatan Ruang Putih?

DDD
DDDasal
2024-12-19 22:43:13742semak imbas

How to Validate Passwords in Java Using Regular Expressions to Enforce Length, Character Types, and Whitespace Restrictions?

Pengesahan Kata Laluan Berasaskan Ungkapan Biasa dalam Java

Dalam pengaturcaraan Java, mengkonfigurasi pengesahan kata laluan selalunya melibatkan penggunaan ungkapan biasa (regex). Pertimbangkan keperluan dasar berikut:

  • Sekurang-kurangnya 8 aksara
  • Mengandungi sekurang-kurangnya satu digit
  • Mengandungi sekurang-kurangnya satu huruf kecil dan satu huruf besar surat
  • Mengandungi sekurang-kurangnya satu aksara khas (@#%$^ dsb.)

Ungkapan biasa yang sepadan ialah:

^.*(?=.{8,})(?=..*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$

Walau bagaimanapun, ungkapan ini gagal menangani satu tambahan keperluan:

  • Tidak mengandungi ruang putih, tab, dsb.

Meningkatkan Ungkapan Biasa

Untuk menguatkuasakan syarat ini, regex boleh diubah suai sebagai berikut:

^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])(?=\S+$).{8,}$

Pecahan Terperinci

  • ^: Permulaan rentetan
  • (? =.*[0-9]): Sekurang-kurangnya satu digit
  • (?=.*[a-z]): Sekurang-kurangnya satu huruf kecil
  • (?=.*[A-Z]): Sekurang-kurangnya satu huruf besar
  • (?=.*[@#$%^& =]): Sekurang-kurangnya satu watak istimewa
  • (?=S $): Tiada aksara ruang putih dalam keseluruhan rentetan
  • .{8,}: Panjang minimum 8 aksara
  • $: Tamat rentetan

Menyesuaikan Regex

Sifat modular regex ini membolehkan penyesuaian yang mudah. Keperluan individu boleh ditambah, dialih keluar atau diubah suai berdasarkan dasar kata laluan yang diingini.

Penjelasan tentang (?=...) Construct

The (?=. ..) construct menilai sama ada corak regex tertutup wujud dalam rentetan tanpa benar-benar menggunakan teks. Mekanisme ini membolehkan pengesahan syarat tertentu tanpa mengubah rentetan.

Nota Akhir

Dengan memasukkan ungkapan biasa yang dipertingkatkan ini ke dalam aplikasi Java, pembangun boleh melaksanakan mekanisme pengesahan kata laluan yang mantap yang memenuhi keperluan dasar yang kompleks.

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Kata Laluan dalam Java Menggunakan Ungkapan Biasa untuk Menguatkuasakan Panjang, Jenis Aksara dan Sekatan Ruang Putih?. 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