【问题标题】:Increment a number in the middle of a string在字符串中间增加一个数字
【发布时间】:2012-05-28 14:57:13
【问题描述】:

我有一系列字符串 add[0][types]add[0][name] 等(用 PHP 形式 $_POST 创建一个数组)。

我需要拔出[0] 并使其成为[1]

我已经根据其他一些回复构建了一个正则表达式函数,但它没有更改属性,我不确定我的函数语法是否正确:

newrow.find('input, select').each(function(){
  $(this).attr('name', function(i, val){return val.replace(
    /\\d+/, function(n){ return ++n; });
  });
});

【问题讨论】:

    标签: jquery regex attr


    【解决方案1】:

    我认为你的正则表达式有点不对劲。您可以通过删除 .each 来缩短代码,以支持采用函数的 attr 的重载(您已经在使用,略有不同):

    newrow.find('input, select').attr('name', function(i, val) {
        return val.replace(/\d+/, function(n) {
            return ++n;
        });
    });
    

    示例: http://jsfiddle.net/hDELW/1/

    【讨论】:

    • +1,但是OP也使用该函数作为attr的第二个参数,问题主要在于不正确的正则表达式。
    • @VisioN:是的(我会澄清一下),但他/她没有利用它可以用来代替.each
    猜你喜欢
    • 2021-02-14
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-27
    • 2015-06-18
    • 1970-01-01
    相关资源
    最近更新 更多