我需要搜索所有街道缩写的输入值,并用适当的后缀替换.这是我到目前为止:
jQuery('#colCenterAddress').val(function(i,val) { var f = ['Rd','St','Ave']; var r = ['Road','Street','Avenue']; return val.replace(f,r); });
思考?
解决方法
您需要迭代f数组,并分别尝试每个替换.
jQuery('#colCenterAddress').val(function(i,'Avenue']; $.each(f,function(i,v) { val = val.replace(new RegExp('\\b' + v + '\\b','g'),r[i]); }); return val; });
如果这是您定期要做的事情,您可能希望存储数组,甚至制作具有预制正则表达式的第三个数组.
var f = ['Rd','Ave']; var r = ['Road','Avenue']; var re = $.map(f,function(v,i) { return new RegExp('\\b' + v + '\\b','g'); }); jQuery('#colCenterAddress').val(function(i,val) { $.each(f,v) { val = val.replace(re[i],r[i]); }); return val; });