jQuery 查找并替换为数组

标签 jquery arrays

我需要搜索输入值中的所有街道缩写并替换为适当的后缀。这是我到目前为止所拥有的:

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,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;
});

演示: 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;
});

演示: http://jsfiddle.net/vRTNt/1/

关于jQuery 查找并替换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8881436/

相关文章:

c - 将文件中的数据存储到结构数组中

javascript - 解析云代码 全部保存

c - 如何在创建多维数组后立即为其分配多个值 - 在 C 中?

php - 将数组插入数组然后编码 - PHP

jquery - 在没有 overflow hidden 的情况下,transitionend 事件不会在 FireFox 中持续触发

jquery - 如何制作这样的垂直文本 slider

javascript - 向左滑动带有无限选项的 div

javascript - 在移动设备和桌面设备之间切换悬停下拉菜单

javascript - 从 JSON 文件在 JavaScript 中创建数组

JQuery slideToggle - 改变文本