2012-03-09 54 views
0

我有这样的用正则表达式重命名输入

<textarea type="text" name="featured[items][58252][hpsummary]" cols="50" class="limit20_120">asdfasdfasfasfdsadfasdfaasdfasfdasfasfasdf</textarea> 

名称输入,我需要通过全部投入到重新编号的项目我可以循环没有问题,但我被困在如何重新编号他们,使那么上述然后将1而不是58252

<textarea type="text" name="featured[items][1][hpsummary]" cols="50" class="limit20_120">asdfasdfasfasfdsadfasdfaasdfasfdasfasfasdf</textarea> 

我可以算出来的只是不知道如何分析它

我想的只是分割字符串,但我不知道我是否可以使用n正则表达式,以便我不必担心结尾是否有更多项目或者是否有更好的方法

+0

我就离开这个位置。再次:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags – Cfreak 2012-03-09 15:19:05

+0

@Cfreak我不想解析HTML只是名称字符串 – mcgrailm 2012-03-09 15:21:13

+0

也许使用serialize()和post()将输入名称(和值)发送到服务器,在那里解析并重新创建它们,然后使用post()的结果替换输入? – Dave 2012-03-09 15:29:28

回答

2

是这样的吗?

$('.limit20_120').each(function(i){ 
    this.name = this.name.replace(/\d+/, i+1); 
}); 

工作演示 - http://jsfiddle.net/ShankarSangoli/4RUxS/

+0

这样会很好,但是huesummary可以是任何东西,更多可以遵循 – mcgrailm 2012-03-09 15:24:13

+0

@mcgrailm - 检查我编辑的答案。 – ShankarSangoli 2012-03-09 15:28:55

+0

如果有更多的下游数量不会改变他们呢? – mcgrailm 2012-03-09 15:33:42