Выполняю учебное задание по основам регулярных выражений. Задача сделать форму для отправки стоимсти хостинга и домена. Скрипт получает данные с формы, проверяет, являются ли они числами, а также состоят ли они из двух символов. Код написал, но при вводе более двух чисел, регулярное выражение срабатывает также как true. Запускал на Open Server. Для анализа вывел вверху переменные, а также результат работы функции preg_match. Код (Text): <?php $host = 0; $domen = 0; if(isset($_POST['go_rashod'])){ $host = htmlspecialchars($_POST ['hosting']); $domen = htmlspecialchars($_POST ['domen']); $reg = '/\d{1,2}/'; if (is_numeric($host) && is_numeric($domen) && preg_match($reg, $host) === 1){ echo '$host: ' . $host . '<br />'; echo '$domen: ' . $domen . '<br />'; echo preg_match($reg, $host) . '<br />'; echo 'Вы ввели правильные данные <br />'; }else{ echo 'Вы ввели неправильные данные <br />'; echo '$host: ' . $host . '<br />'; echo '$domen: ' . $domen . '<br />'; echo preg_match($reg, $host); } } ?> <!DOCTYPE html> <html> <head> <title>Бухгалтерия</title> </head> <body> <h1> Моя бухгалтерия </h1> <form name="rashodi" method="post"> <p> <b> Стоимость хостинга: </b> <input type="text" name="hosting"> </p> <p> <b>Стоимость домена: </b> <input type="text" name="domen"> </p> <p> <input type="submit" name="go_rashod" value="Отправить"> </p> </form> </body> </html>