2010-06-22 29 views
7

Quiero algo así como un contador para cada salto de línea en un área de texto. Esto se usa al cargar una gran cantidad de webbanners, por lo que necesito un contador simple de cuántos usuarios ha agregado. En este momento, el contador funciona solo cuando un usuario presiona un enlace con un tamaño de anuncio especial.Verificar si hay saltos de línea en el área de texto con jQuery

Este es mi código, ya que es en este momento:

var i = 0; 

$('.size').click(function(){ 
$('#total-number').text(i++); 
return false; 
}); 

Respuesta

0

Buscar en el área de texto para "\ n".

Para estar seguro, realice una búsqueda de expresiones regulares para el patrón "\\ n" y cuente la matriz de coincidencias, que será el recuento de salto de línea.

4

Utilizar la función String split ...

var text = $('#total-number').text(); 
var eachLine = text.split('\n'); 

alert('Lines found: ' + eachLine.length); 

for(var i = 0, l = eachLine.length; i < l; i++) { 
    alert('Line ' + (i+1) + ': ' + eachLine[i]); 
} 
2

Uso de expresiones regulares, su problema puede ser resuelto como esto (buscar en el área de texto para el nuevo carácter de línea "\ n")):

//assuming $('#total-number') is your textarea element 
var text = $('#total-number').val(); 
// look for any "\n" occurences 
var matches = text.match(/\n/g); 
// count them, if there are any 
var breaks = matches ? matches.length : 0; 

breaks variable contiene ahora el número de saltos de línea en el texto.

0

Funciona cuando manualmente presione enter, pero ¿hay alguna manera de contar los saltos de línea que textarea crea al copiar y pegar datos en él? Quiero decir, si defines un ancho para un área de texto y luego pegas un poco de texto, creará saltos de línea ...

0

¿Te refieres a una cadena de una línea que se envuelve? Un salto de línea, si no me equivoco, se crea cuando se presiona Enter o Shift + Enter.

Cuestiones relacionadas