Использование регулярных выражений (regex) для замены выделенного текста в jQuery/JavaScript

В приведенном ниже примере текст выделяется с помощью jQuery. Как мы можем изолировать валюту, избавившись от других данных?

Эта попытка использовать JavaScript replace не сработала:

var symbol = $("div.price > h5 > div.num").text().replace(/[\d.]*/, "");

Это пример HTML; селектор jQuery работает:

<div class="price">
  <h5 class="biguns">
    <div class="num">
      €12.28
    </div>
    Lowest Price Per Night
  </h5>
</div>

person holden    schedule 08.10.2010    source источник


Ответы (3)


Точка должна быть экранирована, иначе она будет соответствовать каждому символу, и вы должны установить глобальный модификатор:

var symbol = $("div.price > h5 > div.num").text().replace(/[\d\.]+/g, "");
person mck89    schedule 08.10.2010
comment
но в любом случае, вот, вырубитесь: regular-expressions.info/refquick.html - person Félix Adriyel Gagnon-Grenier; 15.01.2014
comment
Проголосовал за излишне грубый комментарий. В данном случае .replace() — это метод Javascript developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/, которые не следует путать с методами jQuery api.jquery.com/replaceAll и api.jquery. com/replaceWith - person PJ Brunet; 21.11.2017

Если валюта всегда является первым символом и имеет длину один символ, вы можете легко получить ее с помощью

var symbol = $(".num").text().substr(0,1);
person Valentin Flachsel    schedule 08.10.2010

person    schedule
comment
К сожалению, это не соответствует 12 без десятичных знаков. Не всегда можно предположить, что у вас будет последовательный ввод. - person John Strickler; 08.10.2010