Про eregi

Cramac

Новичок
Про eregi

Всем привет.
Есть вот такое:
eregi('^[0-9]+([,|\.])+[0-9]$
проверяет переменную чтоб в ней были только цифры и знаки "." и "," и пропускает только "44.5" и "44,5"

А как сделать чтоб она принимала как "444", так и "44.5" и "44,5"
 

SiMM

Новичок
Вы хоть сами поняли смысл вот этого вот - ([,|\.])+ ? Потому что описание регулярнику вы дали неправильное.
 

SiMM

Новичок
Да ёлы палы... ну сколько можно-то тупо копировать оригинал?
PHP:
echo preg_match('/^\d+[,|\.]*\d*$/','12.|,34');
 

SiMM

Новичок
vladax, ТЗ
проверяет переменную чтоб в ней были только цифры и знаки "." и "," и пропускает только "44.5" и "44,5"
Приведённый мной пример (12.|,34) ваш регулярник пропускает как валидный. Интересно, почему? ;)

-~{}~ 05.12.04 19:16:

Cramac, вообще-то это не ответ ;)
 

vladax

Новичок
SiMM
Туплю! :)
Давно регов не писал :)
Так кажись: '/^\d+(,*|\.*)\d*$/'
 

ys

отодвинутый новичок
ага, а еще пропускает: 44444
вроде * - любое число вхождений, вплоть до отсутствия,
а + - одно и более, или я что то забыл?

А так будет верно ?
'/^\d+[,\.]\d*$/'

[offtopic]

А напомните синтакс: \d{2,3} - это от 2 до 3 цифирь, или я что то путаю?

[/offtopic]
 

jer

...
да, еще его (?) можно вынести за скобки

и еще скорее всего должен проходить такой вариант: .123
чеи такой: 123.

если это проверка на плавающее число, то еще 'e' надо проверять

-~{}~ 05.12.04 20:02:

ys


читай первый пост автора топика, 44444 должно проходить

ps: синтаксис - да. читай мануал, там все это есть.
 

Cramac

Новичок
Задача стоит в проверке данных из формы. Пользователь вводит число определеной длинной (от 1 до 10 символов) при этом он кроме цифр и знаков ".""," для разделения ничего не должен вводить.
 

Profic

just Profic (PHP5 BetaTeam)
Вы еще долго будете гадать на кофейной гуще?
!^\d*[.,]?\d+(e[+-]?\d+)?$!i - проверка числа с плавающей точкой
или
!^\d{2}[.,]?\d$!i - проверка в точности соответствующая требованию автора топика :)
 

jer

...
тогда в первом варианте не хватает в начале [+-]?
во втором - автору нужны числа от 1-10 символов

ps: автору - почитай уже мануал и детали
 

SiMM

Новичок
Profic, не угадал ;) Как тебе такой вход - 123.456 ;)
PS: хотя возможно я не прав - автор сам такой регулярник изначально задал.
 

Cramac

Новичок
В дополнение:
Число может быть от 1 до 10 символов, при этом после знаков "." или "," может быть только 2 знака или 1
 
Сверху