Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mengesahkan input aksara khas menggunakan ungkapan biasa PHP

Bagaimana untuk mengesahkan input aksara khas menggunakan ungkapan biasa PHP

PHPz
PHPzasal
2023-06-24 08:23:301822semak imbas

Ekspresi biasa PHP ialah alat yang sangat berkuasa yang boleh membantu kami mengesahkan ketepatan input pengguna. Antaranya, adalah sangat biasa untuk mengesahkan input aksara khas, kerana aksara khas boleh menyebabkan ralat program kami atau risiko keselamatan. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan input aksara khas.

  1. Sahkan satu aksara khas

Jika kita perlu mengesahkan sama ada rentetan yang dimasukkan oleh pengguna mengandungi aksara khas, kita boleh menggunakan fungsi preg_match, yang boleh berdasarkan ungkapan biasa Formula menentukan sama ada rentetan mematuhi peraturan tertentu. Sebagai contoh, jika kita perlu mengesahkan sama ada rentetan yang dimasukkan oleh pengguna mengandungi simbol $, kita boleh menggunakan kod berikut:

$input = 'username$';
if (preg_match('/$/', $input)) {
    echo '字符串中包含$符号';
} else {
    echo '字符串中不包含$符号';
}

Dalam kod di atas, $ dalam ungkapan biasa /$/ mewakili simbol $ itu sendiri, bukannya rujukan kepada pembolehubah. Jika perlawanan berjaya, ini bermakna rentetan $str mengandungi simbol $. Sudah tentu, kami juga boleh mengesahkan aksara khas lain, seperti tanda soal, asterisk, dsb.

  1. Sahkan berbilang aksara khas

Jika kita perlu mengesahkan berbilang aksara khas pada masa yang sama, kita boleh menggunakan kelas aksara dan metakarakter ungkapan biasa ). Kelas aksara digunakan untuk mewakili set aksara, manakala metakarakter mewakili peraturan khas untuk memadankan watak. Sebagai contoh, kita perlu mengesahkan sama ada rentetan yang dimasukkan oleh pengguna mengandungi mana-mana tiga aksara khas $, # dan @ Anda boleh menggunakan kod berikut:

$input = 'username$#1@';
if (preg_match('/[$#@]/', $input)) {
    echo '字符串中包含$、#、@中的任意一个';
} else {
    echo '字符串中不包含$、#、@中的任何一个';
}

Dalam kod di atas, kelas aksara. [$#@] mewakili set aksara, dengan $, #, @ mewakili aksara yang perlu dipadankan. Jika perlawanan itu berjaya, ini bermakna rentetan $str mengandungi mana-mana satu daripada $, # dan @.

  1. Sahkan had bilangan aksara khas

Kadangkala, kita perlu mengesahkan sama ada bilangan aksara khas dalam rentetan yang dimasukkan oleh pengguna berada dalam julat tertentu. Ini boleh dicapai menggunakan pengkuantiti ungkapan biasa. Sebagai contoh, jika kita perlu mengesahkan sama ada bilangan simbol $ dalam rentetan yang dimasukkan oleh pengguna adalah antara 1 dan 3, kita boleh menggunakan kod berikut:

$input = 'user$name$';
if (preg_match('/($){1,3}/', $input)) {
    echo '字符串中包含1到3个$符号';
} else {
    echo '字符串中不包含1到3个$符号';
}

Dalam kod di atas, /($){1,3}/ 🎜> mewakili had bilangan simbol $, di mana 1 bermaksud memadankan sekurang-kurangnya 1 simbol $ dan 3 bermaksud memadankan sehingga 3 $ simbol. {1,3}

    Kecualikan aksara tertentu
Kadangkala, kami perlu mengesahkan sama ada rentetan yang dimasukkan oleh pengguna mengandungi aksara khas tertentu, tetapi kami tidak mahu ia mengandungi aksara tertentu. watak. Ini boleh dicapai menggunakan kelas watak negatif ungkapan biasa. Sebagai contoh, kami perlu mengesahkan sama ada rentetan yang dimasukkan oleh pengguna mengandungi tiga aksara khas $, # dan @, tetapi kami tidak mahu ia mengandungi simbol & Anda boleh menggunakan kod berikut:

$input = 'username$#1@';
if (preg_match('/[^&][$#@]/', $input)) {
    echo '字符串中包含$、#、@中的任意一个,但不包含&符号';
} else {
    echo '字符串中不符合要求';
}

Dalam kod di atas, aksara Kelas

mewakili mana-mana aksara kecuali ampersand, dengan ^ mewakili penolakan. Jika perlawanan berjaya, ini bermakna rentetan $str mengandungi mana-mana satu daripada $, # dan @, tetapi tidak mengandungi simbol &. [^&]

Ringkasan

Menggunakan ungkapan biasa PHP untuk mengesahkan input aksara khas boleh meningkatkan keselamatan dan keteguhan program kami. Dalam pembangunan sebenar, kita boleh memilih ungkapan biasa yang sesuai untuk mengesahkan input aksara khas mengikut keperluan. Perlu diingat bahawa walaupun ungkapan biasa berkuasa, mereka juga mempunyai batasannya dan perlu digunakan dengan berhati-hati.

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan input aksara khas menggunakan ungkapan biasa 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