Использование php preg_match для проверки значений с плавающей точкой
Использование php (preg_match) для проверки, является ли переменная плавающей.
Поиск в Интернете, но до сих пор не нашли тот, который мне нужен. Посоветуйте, пожалуйста.
мои требования:
ДЕЙСТВУЕТ
(только цифры и одна точка)
0.1 (все, что начинается с 0, должно следовать за точкой, а затем числом)
1.1234567890 (макс. 10 знаков после запятой)
НЕДЕЙСТВИТЕЛЬНЫЙ
пустое / пространство
0
0.
0.0
00,0
0.0.0
01
целые
+0.1 (без плюсов)
-0.1 (без знака минус)
0,1
01,1
1.
0,1e38 (без экспоненты)
Решения:
/^(?=.*[1-9])(?!0\d)([0-9]{1,10})(\.[0-9]{1,10})$/
2 ответа
Все просто так:
if (($num = filter_var($var, FILTER_VALIDATE_FLOAT)) !== false) {
echo "Yay $num is a float!\n";
}
Ты можешь использовать:
preg_match_all('!\d+(?:\.\d+)?!', $str, $matches);