Je dois vérifier le montant pour m'assurer qu'il est correct comme

10995.25 //true
0.21 //true
2.30 //true
100.00 //true

100 //false
15.2 //false
214.353 //false

Tout le monde sait comment utiliser l'expression PHP preg_match pour y parvenir

php
-1
Benjamin W 28 nov. 2017 à 05:06

3 réponses

Meilleure réponse

preg_match est essentiellement utilisé pour la correspondance de modèles.

Vous pouvez y parvenir comme ci-dessous mais sans la fonction preg_match:

<?php
$str = "10995.25";
echo $total_decimals = strlen(substr(strrchr($str, "."), 1));
// Output will be 2

if($total_decimals == 2){
     echo "True";
} else {
     echo "False";
}
// Output will be True here for 10995.25 and False for 100 or 15.2
?>
0
Amit Gupta 28 nov. 2017 à 02:22

Vous pouvez essayer quelque chose comme ça.

if (preg_match('/^\d+\.\d{2}$/', $str)) {

    // valid string 
}

Veuillez noter que cela ne correspondra pas à quelque chose comme .34 si vous devez également faire correspondre cela, puis remplacez + par *

0
nicholasnet 28 nov. 2017 à 02:34

Essaye ça

preg_match('~(\d+)\.([\d]{2})~',$input,$match);
0
Naga 28 nov. 2017 à 02:18
47522801