Javascript регулярное выражение для принятия значений от 00.01 до 999.99999 - PullRequest
0 голосов
/ 08 декабря 2018

У меня есть следующий регистр ex

var pattern = /^(\d{2,3})?(?:\.\d{2,5})?$/;

//The value must be always lesser than 999.99999
if(!pattern.test(billRate.value)|| parseFloat(billRate.value) > parseFloat("999.99999"))
{
    alert("Invalid It accepts values between 00.01 to 999.99999");
    return false;
}

минимальное значение всегда должно быть 00.01, а максимальное - 999.99999.

к сожалению, приведенное выше регулярное выражение не работает должным образом, и кто-то может помочьмне, чтобы получить это, пожалуйста.

также регулярное выражение должно всегда проверять, что есть минимум двух чисел перед десятичной запятой и минимум двух десятичных после

1 Ответ

0 голосов
/ 08 декабря 2018

Вы можете попробовать это

^(?:0?00\.(?:01\d{0,3}|0[2-9]\d{0,3}|[1-9]\d{1,4})|(?:0?0[1-9]|0?[1-9]\d|[1-9]\d{2})\.\d{2,5})$

К сожалению, у меня нет способа проверить это.

Читаемая версия

 ^   

 (?:
      0? 00 \.                      #  000.01000 - 000.99999
      (?:
           01 \d{0,3} 
        |  0 [2-9] \d{0,3} 
        |  [1-9] \d{1,4} 
      )
   |  
      (?:                           #  001.00000 - 999.99999
           0? 0 [1-9] 
        |  0? [1-9] \d 
        |  [1-9] \d{2} 
      )
      \.
      \d{2,5} 
 )

 $
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...