Bạn cần lặp lại mảng f
và thử từng thay thế riêng biệt.
jQuery('#colCenterAddress').val(function(i,val) {
var f = ['Rd','St','Ave'];
var r = ['Road','Street','Avenue'];
$.each(f,function(i,v) {
val = val.replace(new RegExp('\\b' + v + '\\b', 'g'),r[i]);
});
return val;
});
DEMO:http://jsfiddle.net/vRTNt/
Nếu đây là một cái gì đó bạn sẽ phải làm một cách thường xuyên, bạn có thể muốn để lưu trữ các Mảng, và thậm chí tạo ra một mảng thứ ba mà có các biểu thức chính quy được tạo sẵn.
var f = ['Rd','St','Ave'];
var r = ['Road','Street','Avenue'];
var re = $.map(f, function(v,i) {
return new RegExp('\\b' + v + '\\b', 'g');
});
jQuery('#colCenterAddress').val(function(i,val) {
$.each(f,function(i,v) {
val = val.replace(re[i],r[i]);
});
return val;
});
DEMO:http://jsfiddle.net/vRTNt/1/
Nguồn
2012-01-16 14:38:43
Hoạt động bằng PHP, nhưng tiếc là không có trong JavaScript. –
Đó không phải là lời gọi javascript hợp lệ để thay thế. Nó không đặc biệt quốc tế. Đó là công việc phụ của khách hàng, dễ bị phá vỡ. Bạn cần phải đảm bảo rằng mỗi trận đấu được đặt trước bởi khoảng trắng và thành công bởi một ký tự không phải từ. –