У меня этот REGEX почти совершенный... Кажется, что он обрабатывает все, кроме числа, которое ведет с отрицательным знаком, а затем десятичным. Поэтому, если я вхожу:
-.2
Я получаю сообщение об ошибке -
Вот мое Regex - все, что я проверил, отлично работает...
^(\+|-)?[0-9]{1,11}?(?:\.[0-9]{1,4})?$
Это позволяет:
- число до 11 цифр (99 миллиардов)
- положительное или отрицательное число
- до 4 знаков после запятой (необязательно)
- ведущий 0 до десятичной точки не является обязательным - только для положительных чисел
Все эти работы:
-0.2345
-10
12
.125
0.1245
5.555
25000000000 (aka 25 Billion)
25000000000.25
Они не работают:
-.2
-.421