2010-10-08 20 views
11

En el ejemplo siguiente, el texto se selecciona mediante jQuery. ¿Cómo podemos aislar la moneda eliminando los otros datos?Uso de expresiones regulares (regex) para reemplazar el texto seleccionado en jQuery/JavaScript

Este intento de uso de JavaScript replace no funcionó:

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

Este es el ejemplo de HTML; el selector de jQuery está trabajando:

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

Respuesta

24

El punto debe ser escapado othwerwise que coincidirá con cada personaje y que debe establecer el modificador mundial:

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

jQuery no tiene una referencia regex, regex y función de reemplazo a re ambos javascript puro -1 para comentarios inútiles. – mck89

+1

bien, luego referencia JS regex –

+3

no es inútil, escribí 'jquery regex' en un motor de búsqueda web y veo esta pregunta con ejemplos pero no enlaces a una lista completa –

2
var symbol = $("div.price > h5 > div.num").text().replace(/\d+\.?\d+/, ""); 
+0

Desafortunadamente, esto no coincide con 12 sin decimales. No siempre se puede suponer que tendrá una entrada consistente. –

+0

-1 para ningún enlace a jQuery regex reference –

+0

js regex reference even –

0

Si la moneda es siempre el primer carácter y tiene un carácter de largo, puede obtenerlo fácilmente con

var symbol = $(".num").text().substr(0,1); 
Cuestiones relacionadas