Musisz powtórzyć macierz f
i wypróbować każdą z nich osobno.
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/
Jeśli jest coś, co zamierzamy zrobić w sposób regularny, może chcesz zapisać tablice, a nawet zrobić trzeci układ, który ma gotowych wyrażeń regularnych.
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/
Działa to w PHP, ale niestety nie w JavaScript. –
To nie jest poprawna inwokacja javascript zastępowania. To nie jest szczególnie możliwe do internacjonalizacji. Jest to praca po stronie klienta, którą łatwo ominąć. Musisz upewnić się, że każdy mecz jest poprzedzony białymi znakami i następcą nie jest słowo. –