eregi проблем при валидиране на число

vankata

Registered
това ми е функцията
Код:
function isValidNum($val)
{
	if(@eregi("[0-2]+(\.[0-9])", $val))
	{
		echo "true";
	} else {
	echo "false";
	}
}

искам да валидирам числа от типа

2.9, 3.8

да има число от 0-9 после точка(.) и накрая пак число от 0-9

функцията да изкарва true дори и ако е цяло число от 1-9 без точката

благодаря предварително
 
Код:
function isValidNum($val) {
	$pattern = "#^\d+";
	if(stristr($val, "."))
		$pattern .= "\.\d+";
	$pattern .= "$#";
	return (preg_match($pattern, $val)) ? true : false;
}

$number = "5.2"; // return true;
$number = "5,2"; // return false;
$number = "5s.2s"; //return false;
$number = "25"; //return true;

if(!isValidNum($number)) {
	//Грешка
}
 

Back
Горе