Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesahkan julat panjang rentetan tertentu menggunakan regex PHP

Bagaimana untuk mengesahkan julat panjang rentetan tertentu menggunakan regex PHP

王林
王林asal
2023-06-24 23:30:131812semak imbas

Dalam PHP, kami selalunya perlu mengesahkan julat panjang rentetan. Di sinilah ungkapan biasa berguna. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan julat panjang rentetan tertentu.

  1. Ketahui rentetan yang hendak disahkan

Untuk mengesahkan julat panjang rentetan, anda perlu mengetahui rentetan yang ingin disahkan terlebih dahulu. Sebagai contoh, jika kita ingin mengesahkan nama pengguna, kita perlu mengetahui nama pengguna itu. Jika input diperoleh daripada borang, anda boleh menggunakan:

$username = $_POST['username'];
  1. Bina ungkapan biasa

Kini kita perlu membina ungkapan biasa untuk mengesahkan julat panjang rentetan. Katakan kita perlu mengesahkan bahawa panjang nama pengguna adalah antara 6 dan 20 aksara, kita boleh menggunakan ungkapan biasa berikut:

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

Jelaskan ungkapan biasa ini:

  • ^ bermaksud permulaan rentetan. ^ 表示字符串开始。
  • [a-zA-Z0-9_] 表示允许的字符范围,包括大小写字母、数字和下划线。
  • {6,20} 表示字符串长度的范围,可以使用大括号来指定最小长度和最大长度。
  • $ 表示字符串结束。
  1. 使用preg_match()函数进行匹配

现在我们已经准备好了一个正则表达式,可以使用PHP的preg_match()函数进行匹配。该函数接受两个参数:正则表达式和要匹配的字符串。如果匹配成功,该函数返回1;如果匹配失败,返回0。

下面是一个例子:

$username = $_POST['username'];
if(preg_match('/^[a-zA-Z0-9_]{6,20}$/', $username)) {
    echo '验证通过!';
} else {
    echo '用户名长度需要在6到20个字符之间!';
}
  1. 添加其他条件

除了长度范围,我们还可以根据需要添加其他条件。例如,如果我们需要验证密码必须包含至少一个大写字母、一个小写字母和一个数字,可以使用以下正则表达式:

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

解释一下这个正则表达式:

  • ^ 表示字符串开始。
  • (?=.*[a-z]) 表示必须包含至少一个小写字母。
  • (?=.*[A-Z]) 表示必须包含至少一个大写字母。
  • (?=.*d) 表示必须包含至少一个数字。
  • [a-zA-Zd]{6,20} 表示字符范围和长度范围。
  • $
  • [a-zA-Z0-9_] mewakili julat aksara yang dibenarkan, termasuk huruf besar dan kecil, nombor dan garis bawah.
    {6,20} mewakili julat panjang rentetan Kurungan kerinting boleh digunakan untuk menentukan panjang minimum dan maksimum.
  1. $ menunjukkan penghujung rentetan.

    Gunakan fungsi preg_match() untuk memadankan🎜🎜🎜Kini kami telah menyediakan ungkapan biasa yang boleh dipadankan menggunakan fungsi preg_match() PHP. Fungsi ini menerima dua parameter: ungkapan biasa dan rentetan untuk dipadankan. Jika perlawanan berjaya, fungsi mengembalikan 1 jika perlawanan gagal, ia mengembalikan 0. 🎜🎜Berikut adalah contoh: 🎜rrreee
      🎜Tambah syarat lain🎜🎜🎜Selain julat panjang, kami juga boleh menambah syarat lain mengikut keperluan. Contohnya, jika kita perlu mengesahkan bahawa kata laluan mesti mengandungi sekurang-kurangnya satu huruf besar, satu huruf kecil dan satu nombor, kita boleh menggunakan ungkapan biasa berikut: 🎜rrreee🎜Jelaskan ungkapan biasa ini: 🎜🎜🎜^ bermaksud rentetan bermula. 🎜🎜(?=.*[a-z]) bermakna 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. 🎜🎜[a-zA-Zd]{6,20} mewakili julat aksara dan julat panjang. 🎜🎜$ menunjukkan penghujung rentetan. 🎜🎜🎜🎜Kesimpulan🎜🎜🎜Dengan menggunakan ungkapan biasa PHP, kami boleh mengesahkan julat panjang dan syarat lain rentetan dengan mudah. Sudah tentu, jika syarat pengesahan yang kami perlukan adalah lebih kompleks, kami juga boleh membina ungkapan biasa yang lebih kompleks untuk mencapainya. Tetapi perlu diingatkan bahawa ungkapan biasa kadangkala menyebabkan beberapa masalah prestasi, jadi ini perlu diambil kira dalam pengaturcaraan sebenar. 🎜

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan julat panjang rentetan tertentu menggunakan regex 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