Rumah >pembangunan bahagian belakang >tutorial php >Cara menggunakan ungkapan biasa untuk pengesahan jenis data dalam PHP

Cara menggunakan ungkapan biasa untuk pengesahan jenis data dalam PHP

WBOY
WBOYasal
2023-07-15 19:43:54933semak imbas

Cara menggunakan ungkapan biasa untuk pengesahan jenis data dalam PHP

Apabila membangunkan aplikasi web, mengesahkan data yang dimasukkan pengguna ialah langkah penting. Pengesahan jenis data boleh memastikan kesahihan dan integriti data dan mengelakkan ralat yang tidak dijangka dan kelemahan keselamatan. Dalam PHP, menggunakan ungkapan biasa ialah cara yang berkuasa dan fleksibel untuk melakukan pengesahan jenis data. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk pengesahan jenis data biasa dalam PHP dan memberikan contoh kod yang sepadan.

  1. Pengesahan jenis angka

Sebagai contoh, jika kita perlu mengesahkan sama ada data input ialah integer positif, kita boleh menggunakan ungkapan biasa untuk mencapai ini. Berikut ialah contoh kod:

function validateInteger($input) {
    // 使用正则表达式来匹配正整数
    $pattern = '/^[1-9]d*$/';
    if (preg_match($pattern, $input)) {
        echo "验证通过";
    } else {
        echo "验证失败";
    }
}

$input = "12345";
validateInteger($input);   // 输出:验证通过

$input = "-12345";
validateInteger($input);   // 输出:验证失败

Dalam kod di atas, ungkapan biasa /^[1-9]d*$/ digunakan untuk memadankan integer positif. Antaranya, ^ bermaksud permulaan rentetan, [1-9] bermaksud aksara pertama ialah nombor antara 1 dan 9, dan d* bermaksud 0 atau lebih digit. <code>$ menunjukkan penghujung rentetan. Fungsi preg_match() digunakan untuk melakukan pemadanan ungkapan biasa 1 untuk menunjukkan padanan yang berjaya dan 0 untuk menunjukkan padanan yang gagal. /^[1-9]d*$/来匹配正整数。其中^表示字符串开始,[1-9]表示第一个字符为1到9之间的数字,d*表示0个或多个数字。$表示字符串结束。preg_match()函数用于执行正则表达式的匹配,返回1表示匹配成功,返回0表示匹配失败。

  1. 验证邮箱类型

验证邮箱类型是常见的需求之一。下面是一个验证邮箱的示例代码:

function validateEmail($input) {
    // 使用正则表达式来匹配邮箱
    $pattern = '/^[w-]+(.[w-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$/i';
    if (preg_match($pattern, $input)) {
        echo "验证通过";
    } else {
        echo "验证失败";
    }
}

$input = "abc@example.com";
validateEmail($input);   // 输出:验证通过

$input = "abc@example";
validateEmail($input);   // 输出:验证失败

上述代码中,使用了正则表达式/^[w-]+(.[w-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$/i来匹配邮箱。其中^[w-]+表示以字母、数字、下划线或破折号开头,(.[w-]+)*表示后面可以跟随0个或多个点号和字母、数字、下划线或破折号,@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$表示邮箱的主体部分,[a-z]{2,4}表示邮箱的域名部分为2到4个字母。

  1. 验证手机号码类型

验证手机号码是另一个常见的需求。下面是一个验证手机号码的示例代码:

function validatePhoneNumber($input) {
    // 使用正则表达式来匹配手机号码
    $pattern = '/^1[3-9]d{9}$/';
    if (preg_match($pattern, $input)) {
        echo "验证通过";
    } else {
        echo "验证失败";
    }
}

$input = "13812345678";
validatePhoneNumber($input);   // 输出:验证通过

$input = "12345678901";
validatePhoneNumber($input);   // 输出:验证失败

上述代码中,使用了正则表达式/^1[3-9]d{9}$/来匹配手机号码。其中^1[3-9]表示以1开头,后面可以是3到9之间的任意数字,d{9}表示后面需要跟随9个数字。

  1. 验证日期类型

验证日期类型是很常见的需求,下面是一个验证日期的示例代码:

function validateDate($input) {
    // 使用正则表达式来匹配日期(YYYY-MM-DD)
    $pattern = '/^[12]d{3}-[01]d-[0-3]d$/';
    if (preg_match($pattern, $input)) {
        echo "验证通过";
    } else {
        echo "验证失败";
    }
}

$input = "2021-12-31";
validateDate($input);   // 输出:验证通过

$input = "2021/12/31";
validateDate($input);   // 输出:验证失败

上述代码中,使用了正则表达式/^[12]d{3}-[01]d-[0-3]d$/来匹配日期。其中^[12]d{3}表示以1或2开头,后面跟随3个数字,-[01]d表示中间部分为一个数字(0或1)和一个数字(0到9),-[0-3]d$

    Sahkan jenis e-mel

    🎜Pengesahan jenis e-mel ialah salah satu keperluan biasa. Berikut ialah contoh kod untuk mengesahkan alamat e-mel: 🎜rrreee🎜Dalam kod di atas, ungkapan biasa /^[w-]+(.[w-]+)*@[a-z0-9- ]+ digunakan (.[a-z0-9-]+)*(.[a-z]{2,4})$/i untuk memadankan peti mel. Antaranya, ^[w-]+ bermaksud ia bermula dengan huruf, nombor, garis bawah atau sempang dan (.[w-]+)* bermaksud ia boleh diikuti dengan 0 atau lebih Titik dan huruf, nombor, garis bawah atau sempang, @[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4} )$ mewakili bahagian utama peti mel dan [a-z]{2,4} mewakili bahagian nama domain peti mel, iaitu 2 hingga 4 huruf. 🎜
      🎜Sahkan jenis nombor mudah alih🎜🎜🎜Sahkan nombor mudah alih ialah satu lagi keperluan biasa. Berikut ialah contoh kod untuk mengesahkan nombor telefon mudah alih: 🎜rrreee🎜Dalam kod di atas, ungkapan biasa /^1[3-9]d{9}$/ digunakan untuk memadankan nombor telefon bimbit. Antaranya, ^1[3-9] bermaksud ia bermula dengan 1 dan boleh diikuti dengan mana-mana nombor antara 3 dan 9. d{9} bermakna ia perlu diikuti dengan 9 nombor. 🎜
        🎜Sahkan jenis tarikh🎜🎜🎜Pengesahan jenis tarikh ialah keperluan yang sangat biasa: Berikut ialah contoh kod untuk mengesahkan tarikh: 🎜rrreee🎜Dalam kod di atas, ungkapan biasa /. digunakan ^[12]d{3}-[01]d-[0-3]d$/ untuk memadankan tarikh. Antaranya, ^[12]d{3} bermaksud ia bermula dengan 1 atau 2, diikuti dengan 3 nombor -[01]d bermaksud bahagian tengah ialah a nombor (0 atau 1) dan nombor (0 hingga 9), -[0-3]d$ bermaksud berakhir dengan nombor (0 hingga 3) dan nombor (0 hingga 9). 🎜🎜Di atas adalah kaedah pengesahan untuk beberapa jenis data biasa Melalui fleksibiliti ungkapan biasa, kami boleh menentukan lebih banyak peraturan pengesahan mengikut keperluan khusus. Semasa proses pembangunan, ungkapan biasa yang sesuai mesti dipilih berdasarkan situasi sebenar untuk memastikan kesahihan dan keselamatan data. 🎜

Atas ialah kandungan terperinci Cara menggunakan ungkapan biasa untuk pengesahan jenis data dalam 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