2016-09-15 2 views
-6

Мне нужно регулярное выражение для 5-значного целого числа с двумя десятичными знаками.Javascript Regex for decimal

Это было бы правильно:

  • 12345,12
  • 09856,99
  • 45123,00

Это не так:

  • 123,12
  • 1234 5,6
+1

Добро пожаловать на Stack Overflow. Что вы пробовали? – GreenAsJade

+0

См. Http://stackoverflow.com/questions/13208364/regular-expression-to-enforce-2-digits-after-decimal-point – Tunaki

+0

Что делать, если у него 6 цифр и десятичных знаков? – vol7ron

ответ

0

Используйте это регулярное выражение будет работать

var regex = /^\d{5}\.\d{2}$/; 
var num = '23445.09'; 
console.log(regex.test(num)); // True 

var num2 = '12345.6' 
console.log(regex.test(num)); // False 

Demo: https://jsbin.com/wasefa/edit?html,js,console,output

+2

Нет необходимости в '?' Либо? Он должен иметь 2 цифры после десятичной точки. – MinusFour

+1

Я бы сменил строку на 'var regex =/^ \ d {5} \. \ D {2} $ /;' – pwagner

+0

Спасибо за советы! – KrishCdbry

0

Это было бы правильно: /^\d{5}\.\d{2}$/

var value = 12345.12; 
value.toString().match(/^\d{5}\.\d{2}$/); // ['12345.12'] 

var value = 98652; 
value.toString().match(/^\d{5}\.\d{2}$/); // null 
+1

Как и в другом ответе, вам нужно избегать вашей точки. Попробуйте это с помощью value = 12345678' –

+0

Спасибо за это, вы правы. Я отредактировал мой ответ;) – Robiseb