Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Ограничить input девятью цифрами до точки и двумя после точки (https://javascript.ru/forum/events/58225-ogranichit-input-devyatyu-ciframi-do-tochki-i-dvumya-posle-tochki.html)

sereddos 10.09.2015 13:48

Ограничить input девятью цифрами до точки и двумя после точки
 
Добрый день, в коде не хватает условия на проверку девяти цифр до точки, подскажите пожалуйста как этого добиться в этом коде
var reg = [/^\D+/, /[^.,\d]+/g, /[\.,]+/, /([\d]*\.\d{1,2}).*$/],
	        ch = val.replace(reg[0], '').replace(reg[1], '').replace(reg[2], '.').replace(reg[3], '$1');
	        return ch;



спасибо

sereddos 10.09.2015 19:16

нашел решение ))
 
https://github.com/BobKnothe/autoNumeric

nesnayka 10.09.2015 21:44

Как-то нету желания разбираться, что там зашифровано, т.к. непонятно что на что и для чего меняется. Может достаточно будет дополнительную проверку всунуть:

var re = /^[0-9]{9}\.[0-9]{2}$/;
if (re.test( "103456789.10" ) ) {
  alert("Данная строка соответствует заявленному паттерну");
}else{
  alert("Данная строка НЕ соответствует заявленному паттерну");
}


Это точное соответствие 9 цифр, точка 2 цифры
var re = /^[0-9]{1,9}\.[0-9]{1,2}$/;
не меньше одной до точки, но не больше 9-ти, точка, не меньше одной после точки, но не больше 2-х.
var re = /^[0-9]{1,9}\.[0-9]{1,2}|[0-9]{1,9}$/;
не меньше одной до точки, но не больше 9-ти, точка, не меньше одной после точки, но не больше 2-х ИЛИ целое число от 1 до 9-ти знаков.

sereddos 11.09.2015 16:15

спасибо большое за отклик


Часовой пояс GMT +3, время: 08:24.