|
Posted by Florent Monnier on 10/25/05 22:19
Phillip Oertel a écrit :
> hi,
>
> i'm not a regex guru myself, but the following regex should work - tabke
> a look at my regex test setup ...
>
> <?php
>
> $test = array(
> "1",
> "1.",
> "1.2",
> "1.23",
> "1.234",
>
> "1234",
> "1234.",
> "1234.5",
> "1234.56",
> "1234.567"
> );
>
>
> // if there's a dot, we want at least one number after it.
> $regex = '/^\d+(.\d{1,2})?$/';
It would be better to escape the point, cause the point greps for everything.
$regex = '/^\d+(\.\d{1,2})?$/';
Without escaping the point, it could match for '1234:567' or something else.
> // test all or numbers ...
> foreach ($test as $number) {
> if (preg_match($regex, $number)) {
> echo "ok ";
> } else {
> echo "no ";
> }
> echo $number . "<br />\n";
> }
>
> ?>
>
> i don't think there's a difference between \d and [0-9], but again, i am
> no expert ...
>
> regards,
> phillip
[Back to original message]
|