На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: ALXR
  
    > Проверка ввода дробного и не дробного числа
      Всем привет. Помогите с регуляркой под javascript. У нее должны быть такие ограничения:
      1 - если не дробное число, то максимум в числе символов 6, естественно ноль в начале не должен ставится, т.е. не должно быть такого как: 087126
      2 - если же дробное, то до точки максимум также 6 символов, а после точки 3, ну и аналогично, чтобы в начале числа не могли поставить ноль

      Почему такие ограничения - я использую тип поля в БД mysql decimal(9,3) поэтому хочу, чтобы работники сайта вводили корректно числа, чтоб в базе не "слизывало" числа
      Сообщение отредактировано: TetRis -
        Цитата
        ^[1-9]\d{0,5}(?:\.\d{1,3})?$
          Цитата ViktorXP @
          Цитата
          ^[1-9]\d{0,5}(?:\.\d{1,3})?$

          0.234 не пропускает, а должно
          прошу прощения, что не уточнил когда говорил о том, чтобы ноль в начале не пропускало...ноль не должно пропускать в таких случаях как:
          007676
          07676
          00.2323
          и тд
            а если так
            Цитата
            ^(?:0|[1-9]\d{0,5})(?:\.\d{1,3})?$
              Цитата ViktorXP @
              а если так
              Цитата
              ^(?:0|[1-9]\d{0,5})(?:\.\d{1,3})?$

              точку не дает поставить допустим 0.8
                почему не дает? в регулярке это учтено.
                Проверено
                  Цитата ViktorXP @
                  почему не дает? в регулярке это учтено.
                  Проверено

                  спасибо, работает, я повесил проверку на событие keyup, что и было не верно :)

                  Добавлено
                  а если нужно добавить запятую, чтобы 0.2 и 0,2 пропускало, то будет так?
                  ExpandedWrap disabled
                    ^(?:0|[1-9]\d{0,5})(?:(,|\.)\d{1,3})?$
                    можно проще
                    Цитата
                    ^(?:0|[1-9]\d{0,5})(?:[\.,]\d{1,3})?$
                      Цитата ViktorXP @
                      можно проще
                      Цитата
                      ^(?:0|[1-9]\d{0,5})(?:[\.,]\d{1,3})?$

                      спасибо
                      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                      0 пользователей:


                      Рейтинг@Mail.ru
                      [ Script execution time: 0,0552 ]   [ 15 queries used ]   [ Generated: 28.04.24, 03:23 GMT ]