Rumah > pembangunan bahagian belakang > tutorial php > Ungkapan biasa PHP dalam tindakan: memadankan nama pengguna

Ungkapan biasa PHP dalam tindakan: memadankan nama pengguna

王林
Lepaskan: 2023-06-23 09:14:01
asal
1448 orang telah melayarinya

Dalam pembangunan web, selalunya perlu melakukan sekatan format atau semakan format pada data ungkapan biasa PHP adalah salah satu alat yang berkuasa untuk operasi tersebut. Dalam artikel ini, kami akan menerangkan melalui pertempuran sebenar dan mengajar anda cara menggunakan ungkapan biasa PHP untuk memadankan nama pengguna.

1. Keperluan nama pengguna

Pertama sekali, kami perlu menjelaskan keperluan nama pengguna supaya kami mengetahui jenis ungkapan biasa yang perlu digunakan untuk pemadanan. Biasanya, keperluan nama pengguna adalah seperti berikut:

  • terdiri daripada huruf, nombor atau garis bawah
  • panjangnya antara 6 dan 20 aksara; dengan Bermula dengan nombor;
  • aksara khas tidak dibenarkan.
  • Berdasarkan keperluan ini, kami boleh mula menulis ungkapan biasa.

2. Tulis ungkapan biasa

Mari kita analisa ungkapan biasa yang perlu digunakan untuk setiap keperluan:

terdiri daripada huruf, nombor atau garis bawah .
  • Keperluan ini mudah dipenuhi, hanya gunakan set aksara [0-9a-zA-Z_]. Panjang

boleh antara 6 dan 20 aksara.
  • Keperluan ini memerlukan penggunaan pengkuantiti, iaitu {6,20} bermaksud memadankan 6 hingga 20 aksara. Kita perlu menambah set aksara pada set aksara, dan akhirnya mendapat: [0-9a-zA-Z_]{6,20}.

tidak bermula dengan nombor.
  • Keperluan ini memerlukan penggunaan penegasan lebar sifar, iaitu menambah (?=D) sebelum set aksara bermakna padanan mesti bermula dengan bukan digit. Akhirnya kita dapat: (?=D)[0-9a-zA-Z_]{6,20}.

Watak khas tidak dibenarkan.
  • Keperluan ini perlu mengecualikan aksara khas, kita boleh menggunakan set aksara yang dikecualikan

1. Memandangkan terdapat banyak set aksara yang perlu dikecualikan, kami boleh menggunakan julat pengekodan Unikod untuk mewakili set aksara yang perlu dikecualikan: [u4e00-u9fa5uFE30-uFFA0u3000-u303F]|[s~!@#$ %^&*()_ +={}[]|;:'",.<>/?·!¥......()—""[],;':",. ,? ]). ~!@#$%^&*()_+={}[]|;:'",.<>/?·!¥……()—《》【】、;‘:“,。、?]。最终得到:(?=D)[0-9a-zA-Z_]{6,20}(?![u4e00-u9fa5uFE30-uFFA0u3000-u303F]|[s3. Gunakan ungkapan biasa untuk memadankan

Sekarang kita telah menulis ungkapan biasa, kita boleh menggunakan fungsi preg_match PHP untuk dipadankan. Berikut ialah contoh kod:

function matchUsername($username) {
    $pattern = '/^(?=D)[0-9a-zA-Z_]{6,20}(?![u4e00-u9fa5uFE30-uFFA0u3000-u303F]|[s`~!@#$%^&*()_+={}[]|\;:'",.<>/?·!¥……()—《》【】、;‘:“,。、?])$/';
    if(preg_match($pattern, $username)) {
        return true;
    }
    return false;
}

$username1 = 'abcde';
$username2 = 'abcd@e';
$username3 = '1abcde';
$username4 = '123456789abcdefghi';
$username5 = '张三';
$username6 = 'abcdef张三';

var_dump(matchUsername($username1)); // true
var_dump(matchUsername($username2)); // false
var_dump(matchUsername($username3)); // false
var_dump(matchUsername($username4)); // false
var_dump(matchUsername($username5)); // false
var_dump(matchUsername($username6)); // false
Salin selepas log masuk

Dalam kod, kami mentakrifkan fungsi matchUsername untuk pemadanan dan menggunakan kes ujian untuk mengesahkan setiap satu. Selepas menjalankan kod, anda boleh melihat bahawa kecuali $username1, kes ujian yang lain gagal melepasi perlawanan.

Setakat ini, kami telah menerangkan cara menggunakan ungkapan biasa PHP untuk memadankan nama pengguna melalui pertempuran sebenar. Kami berharap ia akan membantu pemula.


Set watak istimewa

Atas ialah kandungan terperinci Ungkapan biasa PHP dalam tindakan: memadankan nama pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan