Obtengo el nombre de un elemento de entrada, que es una cadena con un número (url1
). Quiero incrementar el número en 1 (url2
) de la manera más fácil y rápida posible.Incrementar un número en una cadena con regex
Mi manera sería obtener \d
/restofstring, ++
la coincidencia, luego juntar el número con restofstring. ¿Hay una mejor manera?
Actualización:
Mi (ficticio) código final se convirtió en:
var liNew = document.createElement('li');
liNew.innerHTML = liOld.innerHTML;
var els = Y.Dom.getChildrenBy(liNew, function(el) {
return el.name.match(/\d+$/);
} // YUI method where the function is a test
for (var i = 0, el; el = els[i]; i++) {
el.name = el.name.replace(/\d+$/, function(n) { return ++n });
}
list.appendChild(liNew);
Er, se no se puede simplemente cambiar los nombres de elementos de formulario como ese en IE. Te encontrarás con problemas: http://stackoverflow.com/questions/1650797/setting-name-of-dom-created-element-fails-in-ie-workaround –
Ok, gracias por el aviso. Si termino necesitando soporte para IE para esto, usaré el elemento YUI en su lugar. –