Rumah >pembangunan bahagian belakang >tutorial php >Kaedah ungkapan biasa PHP untuk mengesahkan aksara khas
Dengan perkembangan pesat Internet, semakin banyak laman web telah muncul. Dalam proses membangunkan laman web ini, ungkapan biasa semakin digunakan. Contohnya, apabila pengguna memasukkan nama pengguna, kata laluan dan maklumat sensitif lain pada halaman pendaftaran, untuk memastikan keselamatan data yang dimasukkan, pembangun biasanya menggunakan ungkapan biasa untuk memastikan kesahihan data. Artikel ini akan menumpukan pada kaedah mengesahkan aksara khas dengan ungkapan biasa PHP untuk membantu pembangun melindungi keselamatan data pengguna dengan lebih baik.
Ungkapan biasa ialah ungkapan yang digunakan untuk memadankan rentetan teks. Ia terdiri daripada teks dan aksara khas dan boleh digunakan untuk menyemak sama ada rentetan sepadan dengan corak tertentu. PHP, sebagai bahasa sebelah pelayan yang popular, boleh menyediakan fungsi pemprosesan rentetan yang kuat menggunakan ungkapan biasa. Ungkapan biasa dalam PHP biasanya disertakan di antara dua garis miring ke hadapan, contohnya: "/pattern/".
Berikut ialah sekeping kod dalam PHP untuk mengesahkan sama ada rentetan input mengandungi aksara khas:
function check_special_chars($str) { if(preg_match('/[^a-zA-Z0-9_]/', $str)) { return false; } return true; }
Dalam kod di atas, fungsi preg_match() digunakan untuk menyemak sama ada rentetan sepadan dengan ungkapan biasa yang ditentukan. Ungkapan biasa "/1/" menentukan set aksara yang fungsi perlu dipadankan, dengan "^" bermaksud bukan, yang bermaksud ia tidak sepadan dengan a~z, A ~Z, 0 Semua aksara kecuali ~9 dan garis bawah (_). Jika rentetan input mengandungi mana-mana aksara ini, fungsi mengembalikan palsu, jika tidak ia mengembalikan benar.
Selain fungsi preg_match(), PHP juga menyediakan beberapa fungsi pengesahan ungkapan biasa yang lain, seperti yang ditunjukkan dalam jadual berikut:
函数 | 说明 |
---|---|
preg_match() | 执行一个正则表达式匹配 |
preg_replace() | 执行一个正则表达式的搜索和替换 |
preg_split() | 通过一个正则表达式将字符串分割为数组 |
preg_quote() | 转义正则表达式字符 |
preg_grep() | 返回数组中匹配某个正则表达式的元素 |
preg_last_error() | 返回最后一个PCRE正则执行返回的错误代码 |
Fungsi ini mempunyai kaedah dan parameter penggunaannya sendiri Untuk butiran, sila rujuk dokumentasi rasmi PHP atau buku berkaitan.
Berikut ialah beberapa contoh yang menunjukkan cara menggunakan ungkapan biasa untuk mengesahkan nama pengguna, kata laluan dan sensitif lain maklumat.
Sahkan nama pengguna
Sahkan nama pengguna biasanya perlu mematuhi beberapa peraturan, seperti hanya mengandungi huruf, nombor dan garis bawah dan mestilah antara 6-16 aksara panjangnya . Berikut ialah ungkapan biasa untuk mengesahkan nama pengguna:
'/^[a-zA-Z0-9_]{6,16}$/'
Ungkapan biasa ini menggunakan ^ untuk menunjukkan padanan aksara pertama, $ untuk menunjukkan penghujung rentetan dan {6,16} untuk menunjukkan bahawa panjang aksara mestilah antara 6 dan 16 .
Kata laluan pengesahan
Kata laluan pengesahan juga perlu mematuhi beberapa peraturan, seperti mengandungi sekurang-kurangnya satu nombor, satu huruf besar dan satu huruf kecil serta panjang ialah 8-20 aksara antara. Berikut ialah ungkapan biasa untuk mengesahkan kata laluan:
'/^(?=.*d)(?=.*[a-z])(?=.*[A-Z]).{8,20}$/'
Ungkapan biasa ini menggunakan ^ untuk menunjukkan padanan aksara pertama, $ untuk menunjukkan penghujung rentetan, (?=.d) untuk menunjukkan bahawa ia mengandungi sekurang-kurangnya satu nombor, ( ?=.[a-z]) bermakna ia mengandungi sekurang-kurangnya satu huruf kecil, (?=.*[A-Z]) bermakna ia mengandungi sekurang-kurangnya satu huruf besar, .{8 ,20} bermakna panjang aksara mestilah antara 8 dan 20.
Sahkan alamat e-mel
Sahkan alamat e-mel juga merupakan fungsi yang sering perlu dilaksanakan oleh pembangun. Berikut ialah ungkapan biasa untuk mengesahkan alamat e-mel:
'/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(.[a-zA-Z0-9_-]+)+$/'
Ungkapan biasa ini menggunakan ^ untuk mewakili padanan aksara pertama, $ untuk mewakili penghujung rentetan, @ untuk mewakili simbol "@", [a -zA-Z0- 9_-] bermakna nama e-mel boleh mengandungi huruf, nombor, garis bawah dan tanda tolak separuh lebar, (.[a-zA-Z0-9_-]+)+ bermakna nama domain e-mel boleh mengandungi berbilang sub-aksara yang dipisahkan oleh titik separuh lebar (.) Nama domain, nama subdomain terakhir mestilah 2-4 huruf atau nombor.
Ringkasan
Melalui pengenalan artikel ini, kami telah mempelajari tentang kaedah pengesahan ungkapan biasa PHP bagi aksara khas, dan mempelajari beberapa teknik pengesahan ungkapan biasa biasa. Sebagai pembangun, kami perlu memastikan keselamatan data pengguna Menggunakan ungkapan biasa untuk mengesahkan kesahihan data input adalah langkah yang sangat penting. Saya harap artikel ini dapat membantu semua orang, dan marilah kita bekerjasama untuk menjadikan Internet lebih selamat.
Atas ialah kandungan terperinci Kaedah ungkapan biasa PHP untuk mengesahkan aksara khas. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!