Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Как правильно ввести float в TextInput? (http://www.flasher.ru/forum/showthread.php?t=132431)

graham 11.11.2009 19:41

Как правильно ввести float в TextInput?
 
Есть TextInput, в него можно ввести только число, включая с плавающей точкой. Символы все сразу срезал через restrinct. Теперь нужно сделать "защиту от дурака".

Сейчас в OnChange делаю следующим образом:
Проверяю можно ли строку, которую ввели перевести в Number, и если можно то оставляю. Если получаю NaN (получается если ввели больше одной точки), то удаляю последний символ. Но тут проблема, если вторую точку ввели в середине строки. Получается нужно не допустить ввода второй точки, но как это сделать не доходит.
Кто уже делал поделитесь идеей.

udaaff 11.11.2009 19:58

http://www.google.com/search?hl=ru&c...g+Point+Number

alatar 11.11.2009 21:09

Почему бы не воспользоваться валидатором?

graham 12.11.2009 00:42

Цитата:

Сообщение от udaaff (Сообщение 864868)

Спасибо, похоже, Ваши мысли долетели до меня раньше.
Решил сделать через \d+(.)\d+, варианты по ссылке тоже годятся. Но все они допускают несколько такие варианты:
000.21321
0213.231
Т.е. не убирают лишние нули. Как вариант решения можно перевести строку в число, а потом обратно... но мне кажется есть более элегантное решение :)

Добавлено через 42 секунды
Цитата:

Сообщение от alatar (Сообщение 864879)
Почему бы не воспользоваться валидатором?

Спасибо, завтра поэксперементирую. Может он мне и поможет.


Часовой пояс GMT +4, время: 10:31.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.