Maison  >  Article  >  développement back-end  >  Comment valider la saisie de nombres et de N chiffres après la virgule décimale à l'aide d'une expression régulière en PHP

Comment valider la saisie de nombres et de N chiffres après la virgule décimale à l'aide d'une expression régulière en PHP

王林
王林original
2023-06-24 08:31:381493parcourir

En PHP, si nous souhaitons implémenter une validation d'entrée, notamment pour les nombres et les points décimaux, nous pouvons utiliser des expressions régulières pour accomplir cette tâche. Cet article vous montrera comment utiliser des expressions régulières en PHP pour valider des nombres et des entrées avec N chiffres après la virgule.

Tout d'abord, regardons un exemple relativement simple de la façon de vérifier si une chaîne est un nombre pur :

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

Dans le code ci-dessus, nous utilisons la fonction preg_match, qui est utilisée pour effectuer une correspondance d'expression régulière. Le premier paramètre est l’expression régulière et le deuxième paramètre est la chaîne à rechercher. L'expression régulière utilisée dans ce code est /^d+$/, ce qui signifie faire correspondre une chaîne commençant par un nombre et se terminant par un nombre, et il peut y avoir plusieurs nombres au milieu. /^d+$/,含义是匹配以数字开头,以数字结尾的字符串,中间可以有多个数字。

接下来,验证小数点后 N 位的输入,我们可以使用如下代码:

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

上述代码中,我们使用了和上面类似的方式去验证输入值是否符合规定。正则表达式 /^d+(.d{1,2})?$/d+ 表示匹配多个数字,. 表示匹配小数点,d{1,2} 表示匹配 1 到 2 个数字,(.d{1,2})? 表示小数部分可选。

如果我们需要验证小数点后 3 位或更多位,只需要将上述代码中 d{1,2}

Ensuite, pour vérifier la saisie de N chiffres après la virgule décimale, nous pouvons utiliser le code suivant :

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

Dans le code ci-dessus, nous utilisons une méthode similaire à celle ci-dessus pour vérifier si la valeur saisie répond aux exigences. Dans l'expression régulière /^d+(.d{1,2})?$/, d+ signifie correspondre à plusieurs nombres et . signifie correspondance du point décimal, d{1,2} signifie faire correspondre 1 à 2 nombres, (.d{1,2})? signifie que la partie décimale est facultative.

Si nous devons vérifier 3 chiffres ou plus après la virgule décimale, il nous suffit de modifier d{1,2} dans le code ci-dessus par les chiffres requis.

Dans le développement réel, nous pouvons également encapsuler la logique de vérification dans une fonction pour une réutilisation facile. Le code est le suivant :

rrreee

Dans le code ci-dessus, nous encapsulons la logique de vérification dans une fonction nommée validate_number, où $num est The. valeur d'entrée à valider, $decimal_digits est le nombre de chiffres autorisés après la virgule décimale. L'expression régulière mentionnée ci-dessus est utilisée en interne à des fins de vérification. 🎜🎜Résumé🎜🎜A travers l'exemple ci-dessus, nous pouvons voir qu'il est très simple d'utiliser des expressions régulières pour vérifier des nombres et des points décimaux en PHP. Les développeurs doivent simplement déterminer ce qu'ils veulent vérifier, puis écrire l'expression régulière correspondante. Dans le développement réel, nous pouvons également améliorer la réutilisabilité du code en encapsulant des fonctions. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn