abs возвращает абсолютное значение числа. Зачем ей фильтровать текстовые данные, если эта функция предназначена для цифр?
Зря, достаточно каст в инт.
<?php
$number = (int)$_POST['number'];
?>
abs(intval()) так фильтровал Давно уже кода не касался
Ну теперь ты знаешь, что достаточно каст в инт. Если пользователь указал отрицательное число - это некорректный запрос.