Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengesahkan input nombor dan N digit selepas titik perpuluhan menggunakan ungkapan biasa dalam PHP

Bagaimana untuk mengesahkan input nombor dan N digit selepas titik perpuluhan menggunakan ungkapan biasa dalam PHP

王林
王林asal
2023-06-24 08:31:381408semak imbas

Dalam PHP, jika kami ingin melaksanakan beberapa pengesahan input, terutamanya untuk nombor dan titik perpuluhan, kami boleh menggunakan ungkapan biasa untuk menyelesaikan tugas ini. Artikel ini akan menunjukkan kepada anda cara menggunakan ungkapan biasa dalam PHP untuk mengesahkan nombor dan input dengan N digit selepas titik perpuluhan.

Pertama, mari kita lihat contoh yang agak mudah tentang cara mengesahkan sama ada rentetan ialah nombor tulen:

<?php
$num = "123456";
if (preg_match("/^d+$/", $num)) {
    echo "是纯数字";
} else {
    echo "不是纯数字";
}
?>

Dalam kod di atas, kami menggunakan fungsi preg_match, yang digunakan untuk melaksanakan padanan ungkapan biasa. Parameter pertama ialah ungkapan biasa, dan parameter kedua ialah rentetan untuk dipadankan. Ungkapan biasa yang digunakan dalam kod ini ialah /^d+$/, yang bermaksud untuk memadankan rentetan bermula dengan nombor dan berakhir dengan nombor, dan boleh terdapat berbilang nombor di tengah.

Seterusnya, untuk mengesahkan input N digit selepas titik perpuluhan, kita boleh menggunakan kod berikut:

<?php
$num = "3.14";
if (preg_match("/^d+(.d{1,2})?$/", $num)) {
    echo "是小数点后两位的数字";
} else {
    echo "不是小数点后两位的数字";
}
?>

Dalam kod di atas, kami menggunakan kaedah yang serupa dengan yang di atas untuk mengesahkan sama ada nilai input memenuhi keperluan. Dalam ungkapan biasa /^d+(.d{1,2})?$/, d+ bermaksud memadankan berbilang nombor, . bermaksud memadankan titik perpuluhan, d{1,2} bermaksud memadankan 1 hingga 2 nombor dan (.d{1,2})? bermaksud bahagian perpuluhan adalah pilihan.

Jika kita perlu mengesahkan 3 atau lebih digit selepas titik perpuluhan, kita hanya perlu mengubah suai d{1,2} dalam kod di atas kepada digit yang diperlukan.

Dalam pembangunan sebenar, kami juga boleh merangkumkan logik pengesahan ke dalam fungsi untuk mudah digunakan semula Kodnya adalah seperti berikut:

<?php
function validate_number($num, $decimal_digits) {
    $pattern = "/^d+(.d{1,$decimal_digits})?$/";
    return preg_match($pattern, $num);
}

$num = "3.14159";
if (validate_number($num, 3)) {
    echo "是小数点后 3 位的数字";
} else {
    echo "不是小数点后 3 位的数字";
}
?>

Dalam kod di atas, kami merangkum logik pengesahan ke dalam fungsi. dipanggil Fungsi validate_number, dengan $num ialah nilai input yang akan disahkan dan $decimal_digits ialah bilangan digit yang dibenarkan selepas titik perpuluhan. Ungkapan biasa yang dinyatakan di atas digunakan secara dalaman untuk pengesahan.

Ringkasan

Melalui contoh di atas, kita dapat melihat bahawa sangat mudah untuk menggunakan ungkapan biasa untuk mengesahkan nombor dan titik perpuluhan dalam PHP. Pembangun hanya perlu memikirkan perkara yang ingin mereka sahkan dan kemudian menulis ungkapan biasa yang sepadan. Dalam pembangunan sebenar, kami juga boleh meningkatkan kebolehgunaan semula kod dengan merangkum fungsi.

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan input nombor dan N digit selepas titik perpuluhan menggunakan ungkapan biasa 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