2012-05-28 47 views
2

中間的數我有一系列的字符串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; }); 
    }); 
}); 

回答

6

我覺得你的正則表達式是稍微關閉。你可以通過刪除贊成attr過載,需要一個功能.each縮短你的代碼(你已經在使用,稍有不同):

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

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

+0

+1,然而,OP也使用該函數作爲'attr'的第二個參數,並且問題主要出現在不正確的正則表達式中。 – VisioN

+0

@VisioN:對(我會澄清),但他/她沒有利用它可以用來代替'.each'的事實 –