Home  >  Article  >  Backend Development  >  How to validate input of numbers and N digits after decimal point using regular expression in PHP

How to validate input of numbers and N digits after decimal point using regular expression in PHP

王林
王林Original
2023-06-24 08:31:381474browse

In PHP, if we want to implement some input validation, especially for numbers and decimal points, we can use regular expressions to accomplish this task. This article will show you how to use regular expressions in PHP to validate numbers and inputs with N digits after the decimal point.

First, let’s look at a relatively simple example of how to verify whether a string is a pure number:

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

In the above code, we use the preg_match function, which is used to execute a Regular expression matching. The first parameter is the regular expression, and the second parameter is the string to match. The regular expression used in this code is /^d $/, which means to match a string starting with a number and ending with a number, and there can be multiple numbers in the middle.

Next, to verify the input of N digits after the decimal point, we can use the following code:

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

In the above code, we use a similar method to the above to verify whether the input value meets the regulations. In the regular expression /^d (.d{1,2})?$/, d means matching multiple digits, . means matching decimal points, d{1,2} means matching 1 to 2 numbers, (.d{1,2})? means the decimal part is optional.

If we need to verify 3 or more digits after the decimal point, we only need to modify d{1,2} in the above code to the required digits.

In actual development, we can also encapsulate the verification logic into a function for easy reuse. The code is as follows:

<?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 位的数字";
}
?>

In the above code, we encapsulate the verification logic into a function called The function of validate_number, where $num is the input value to be validated and $decimal_digits is the number of digits allowed after the decimal point. The regular expression mentioned above is used internally for verification.

Summary

Through the above examples, we can see that it is very simple to use regular expressions to verify numbers and decimal points in PHP. Developers just need to figure out what they want to verify and then write the corresponding regular expression. In actual development, we can also improve code reusability by encapsulating functions.

The above is the detailed content of How to validate input of numbers and N digits after decimal point using regular expression in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn