2010-10-08 31 views
11

Trong ví dụ bên dưới, văn bản được chọn bằng cách sử dụng jQuery. Làm thế nào chúng ta có thể cô lập các loại tiền tệ bằng cách loại bỏ các dữ liệu khác?Sử dụng cụm từ thông dụng (regex) để thay thế văn bản đã chọn trong jQuery/JavaScript

nỗ lực này tại sử dụng JavaScript của replace đã không làm việc:

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

Đây là ví dụ HTML; bộ chọn jQuery đang làm việc:

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

Trả lời

24

Dấu chấm phải được thoát othwerwise nó sẽ phù hợp với tất cả các nhân vật và bạn phải thiết lập các sửa đổi toàn cầu:

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

jQuery không có hàm tham chiếu regex, regex và hàm thay thế cả javascript thuần túy. -1 cho bình luận vô dụng. – mck89

+1

ok, sau đó JS regex tham khảo –

+3

nó không phải là vô ích, tôi gõ 'jquery regex' trong một công cụ tìm kiếm web và xem câu hỏi này với ví dụ nhưng không có liên kết đến một danh sách toàn diện –

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

Rất tiếc, điều này không khớp với 12 mà không có bất kỳ vị trí thập phân nào. Không phải lúc nào cũng cho rằng bạn sẽ có đầu vào nhất quán. –

+0

-1 không có liên kết đến tham chiếu jQuery regex –

+0

tham chiếu js regex thậm chí –

0

Nếu đồng tiền luôn luôn là nhân vật đầu tiên và nó dài một ký tự, bạn có thể dễ dàng lấy nó với

var symbol = $(".num").text().substr(0,1); 
Các vấn đề liên quan