Ver Mensaje Individual
  #6 (permalink)  
Antiguo 25/10/2012, 12:16
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: Numerar lineas de un textarea

Hola chicos.
¿Se enojan si les dejo otra versión más?

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>numerar lineas textarea</title>
<script type="text/javascript">
//<![CDATA[
function numerar(){
var esurl = /^(ht|f)tps?:\/\/\w+([\.\-\w]+)?\.([a-z]{2,4})(:\d{2,5})?(\/.*)?$/i;
var nlinea = 0;
var nvalor="";
var contenido = document.getElementById('textA').value;
var lineas = contenido.split('\n');

 
for(var i = 0; i < lineas.length; i++){
 if(esurl.test(lineas[i])) {
 nlinea++
 nvalor += nlinea +"\t"+ lineas[i] +"\n";
 }
 else nvalor += lineas[i] +"\n";
}

document.getElementById('textA').value = nvalor;

}
//]]>
</script>
<title></title>
</head>
<body>
<form>
<textarea name="textA" id="textA" cols="50" rows="10" wrap=off>http://www.forosdelweb.com
wertyu
http2://www.forosdelweb.com
http://www.forosdelweb.com/f13/numerar-lineas-textarea-1019735/</textarea>
<br />
<input type=button onmousedown="numerar();" id="n" value="Numerar" /></form>
</body>
</html>
Aquí doy por hecho que las url's van cada una en una línea; que pueden estar mezcladas con otro texto al que no hay que numerar; y , ya que estamos, que la url sea válida (porque si hay un error, la toma como un vulgar texto del párrafo).

Aprovecho y comento algo que me entretuvo un buen rato. Los formularios no me reconocen la etiqueta de botón HTML. Lo tuve que cambiar por un input. Nadie lo comentó, no sé por qué me pasa en FF y Chr (no lo probé en otros).

Y hay más interpretaciones al planteo original. Uno que estaba por hacer, hasta que me entretuvo eso del botón, es que los número no fuesen parte del texto, sino que se viesen, pero no se copiaran ni seleccionaran ni se capturaran como valor.

Otro asunto es lo absurdo de usar un textarea, pudiendo usar un <input type=text>, que ya es de una sola línea y no va a haber confusiones : se valida que sea url, y se pasa numerado a otro campo que ya tiene el formato de la lista. Eso, si solamente puede aceptar direcciones web.

Debe haber más vueltas, pero ya tengo una de mis dos neuronas agotadas y todavía tengo que seguir trabajando.
(Porque alguna vez, trabajo.)