Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mengesahkan input aksara khas menggunakan ungkapan biasa PHP
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.
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.
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 @.
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}
$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 &. [^&]
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!