我的textarea的ID是字符串,并且是这种格式



我想克隆textarea并增加数字并以fisher[28].man的形式获取ID,并将其添加到现有textarea的前面。

有没有一种方法可以轻松地通过jquery做到这一点?

var existingId = $("#at textarea:last").attr('id');
var newCloned = lastTextArea.clone();
var newId = newCloned.attr('id');
//add the index number after spliting
//prepend the new one to
newCloned.prepend("<tr><td>" + newCloned + "</td></tr>");

必须有一种更简单的方法来克隆,获取索引号,拆分和添加前缀。

我也尝试过使用regEx做到这一点
var existingIdNumber = parseInt(/fisher[(\d+)]/.exec(s)[1], 10);

有人可以帮我吗?

最佳答案

正确的正则表达式是这个

/fisher\[\d+\].man/

这是提取ID的一种方法。
id = text.replace(/fisher\[(\d+)\].man+/g,"$1");
//Now do whatever you want with the id

类似地,可以使用相同的替换技术来获得递增的id,如下所示:
existingId = 'fisher[27].man';
newId = existingId .replace(/(\d+)+/g, function(match, number) {
       return parseInt(number)+1;
});
console.log(newId);

Demo with both usage

09-13 02:15