2016-11-17 4 views
0

Как ограничить длину строки с помощью функции replace.RegEx для максимальной длины с точкой и функцией замены в JavaScript

мне нужно разрешить только укусы, как этот шаблон: 11,11, 99,99, 100,00

1-3 цифры до точки, одна точка и 2 числа после запятой.

У меня есть только что-то вроде этого:

value = value.replace(/[^\d.]/, ""); 
+2

вам нужно лучше объяснить, что вы пытаетесь сделать, ваш вопрос наименее двусмысленен ... попробуйте добавить примеры – fortran

+0

Вы хотите, чтобы вы отклонили/аннулировали все строки, которые * не * совпадают с этим шаблоном? – MaxArt

+0

Вот образец, который будет соответствовать вашему описанию: от одной до трех цифр, за которой следует точка, а затем две цифры: '/ \ d {1,3} \. \ D {2} /' Возможно, это поможет вам найти то, что вы необходимость. – dsh

ответ

0

Использование чередованием | оператора, чтобы проверить обе стороны .:

var str="11.11, 99.99, 100.00, 1333.05, 44.999" 
 
console.log(str.replace(/([, ]*\d{4,}\.\d*|\d*\.\d{3,})[, ]*/g, ""));

Объяснение:

  • [, ]*: любое количество , или пространства
  • \d{4,}\.\d*: 4 или более цифр с последующим точкой и любое число цифр (чисел матча с более чем 4 цифр перед точкой)
  • \d*\.\d{3,}: любое количество цифр затем точка и 3 или более цифр (номер матча с более чем 3-х цифрами после запятой)
  • , если один из двух последних моделей найдено с последующим дополнительным , или пробелом, замените пустой строку ""
-

 Смежные вопросы

  • Нет связанных вопросов^_^