我需要搜索所有街道缩写的输入值,并用适当的后缀替换.这是我到目前为止:
jQuery('#colCenterAddress').val(function(i,val) {
var f = ['Rd','St','Ave'];
var r = ['Road','Street','Avenue'];
return val.replace(f,r);
});
Run Code Online (Sandbox Code Playgroud)
思考?
小智 14
您需要迭代fArray,并分别尝试每个替换.
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;
});
Run Code Online (Sandbox Code Playgroud)
演示: http ://jsfiddle.net/vRTNt/
如果这是您定期要做的事情,您可能希望存储数组,甚至制作具有预制正则表达式的第三个数组.
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;
});
Run Code Online (Sandbox Code Playgroud)
演示: http ://jsfiddle.net/vRTNt/1/