Sử dụng JQuery, tôi trích xuất giá trị từ một hộp cơ bản cho một số dữ liệu trong cơ sở dữ liệu MySQL. Biết rằng hầu hết người dùng sẽ sử dụng dấu '*' (dấu hoa thị) làm giá trị ký tự đại diện và MySQL sử dụng ký tự '%', tôi muốn chuyển đổi bất kỳ dấu sao nào thành '%'.Làm cách nào để thay thế dấu sao trong Javascript bằng cách sử dụng replace()?
Thông thường, điều này sẽ chỉ đơn giản như sử dụng
queryString = inputText.replace('*', '%');
nhưng tôi đã không mấy thành công với điều đó. replace()
hàm Javascript của chỉ thay thế sự xuất hiện đầu tiên, vì vậy nó không thay thế các dấu hoa thị cuối cùng trong một cái gì đó giống như *Foo*
Lựa chọn thứ hai tôi đã cố gắng đã sử dụng một biểu thức chính quy, mà cũng không làm việc:
queryString = inputText.replace(/\x2a/g, '%');
thế nào tôi có thể thay thế '*' (dấu hoa thị) bằng dấu '%' (dấu phần trăm) không? Tôi tưởng tượng có một biểu thức chính quy thực sự đơn giản, hoặc một cái gì đó tôi nhìn.
Trên thực tế, ' "* Foo *". Replace (/ \ x2a/g, '%')' làm việc cho tôi. Vấn đề với cái đó là gì? Hay trình duyệt nào đã thất bại trong đó? –
Rất có thể tôi đã có thể làm hỏng thứ gì đó. Tôi chỉ thử nghiệm nó một lần nữa và nó làm việc - kỳ lạ. Tôi đang thử nghiệm trong Firefox 3.5 nightlies (Shiretoko) và Epiphany (webkit). –
Ngoài ra, nó có thể dễ dàng được một cái gì đó đã được cố định trong đêm mới nhất. Tôi cần phải giữ cho xây dựng cũ xung quanh để kiểm tra in –