2012-11-12 26 views

Trả lời

18

Không có replaceAll trong JavaScript: lỗi giao diện điều khiển có thể được báo cáo một lỗi .. chú ý!

Thay vào đó, sử dụng cụ sửa đổi với một đối số biểu hiện thường xuyên /g ("phù hợp toàn cầu") để replace:

var a="::::::"; 
a = a.replace(/:/g,"hi"); 
alert(a); 

được đề cập trong MDN: String.replace (và các nơi khác).

+0

tại sao mã này không hoạt động var a = ":):) ::::"; a = a.replace (/:)/g, "hi"); cảnh báo (a); –

+1

@VishnuChid Vì '/:)/g' là một biểu thức chính quy không hợp lệ theo nghĩa đen (nó sẽ dẫn đến cú pháp SyntaxError do dấu ngoặc đơn đóng" thêm "). Thay vào đó hãy thử '/: \)/g'. Vui lòng đọc các thông báo lỗi và chính xác về các thông báo lỗi - "không hoạt động" và "không hoạt động" rất mơ hồ. –

+0

tôi nhận được SyntaxError: mất tích) sau khi danh sách đối số cho /: \)/g, xin vui lòng giúp đỡ, và chủ đề tôi nên đọc về việc sử dụng dấu gạch chéo là gì ?? –

6

Không có hàm replaceAll trong JavaScript.

Bạn có thể sử dụng một regex với một định danh toàn cầu như trong câu trả lời pst của:

a.replace(/:/g,"hi");

Một thay thế mà một số người thích vì nó giúp loại bỏ sự cần thiết của biểu thức thông thường là sử dụng JavaScript của splitjoin chức năng như vậy:

a.split(":").join("hi"); 

Điều đáng chú ý là cách tiếp cận thứ hai chậm hơn.

+2

+1 cho giải pháp 'split'. – elclanrs

+0

+1 cho giải pháp tách –

Các vấn đề liên quan