jQuery: сопоставить валюту с регулярным выражением - PullRequest
2 голосов
/ 15 июня 2010

В следующем:

<span>This cost $15.99 per item</span>

как мне вернуть "$ 15.99" с помощью jquery? Значение также может быть, например, «$ 7».

Ответы [ 5 ]

2 голосов
/ 15 июня 2010

Выражение будет похоже на \$\d+(\.\d+)? или \$\d+(?:\.\d+)?, чтобы избавиться от подгруппы.

1 голос
/ 15 июня 2010
$("span").filter(function() {
    return this.text().match('\$\d+(\.\d+)?');
});

Вы можете использовать только совпадение match('\$\d+(\.\d+)?'), но вышеуказанная функция отфильтрует промежутки, содержащие совпадение.

0 голосов
/ 15 июня 2010

демо

alert($('span').text().match(/\$\d+.\d+/));

но здесь есть код , чтобы регулярное выражение было более точным ...

0 голосов
/ 15 июня 2010
return($('span').text().match(/\$\d.+\d/));

пример

0 голосов
/ 15 июня 2010

Будет ли текст всегда "Это цена [ваша цена] за единицу" или текст также произвольный?

Если текст фиксированный, вы можете просто $.replace() все, кроме цены (в два шага) с пустой строкой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...