una ultimo palabras numeros extraer espacios entre eliminar cortar caracteres caracter cadena buscar javascript jquery substring string-length

ultimo - split javascript



¿Mostrar solo 10 caracteres de una cadena larga? (10)

@ jolly.exe

Buen ejemplo Jolly. Actualicé tu versión que limita la duración del personaje en lugar de la cantidad de palabras. También agregué el ajuste del título al innerHTML original real, por lo que los usuarios pueden desplazarse y ver qué se trunca.

HTML

<div id="stuff">a reallly really really long titleasdfasdfasdfasdfasdfasdfasdfadsf</div>

JS

function cutString(id){ var text = document.getElementById(id).innerHTML; var charsToCutTo = 30; if(text.length>charsToCutTo){ var strShort = ""; for(i = 0; i < charsToCutTo; i++){ strShort += text[i]; } document.getElementById(id).title = "text"; document.getElementById(id).innerHTML = strShort + "..."; } }; cutString(''stuff'');

¿Cómo obtengo una cadena de texto larga (como una cadena de consulta) para mostrar un máximo de 10 caracteres, usando JQuery?

Lo siento muchachos, soy un novato en JavaScript & JQuery: S
Cualquier ayuda sería muy apreciada.


Creando una respuesta propia, ya que nadie ha considerado que la división podría no haber sucedido (texto más corto). En ese caso, no queremos agregar ''...'' como sufijo.

El operador ternario lo resolverá:

var text = "blahalhahkanhklanlkanhlanlanhak"; var count = 35; var result = text.slice(0, count) + (text.length > count ? "..." : "");

Puede cerrarse para funcionar:

function fn(text, count){ return text.slice(0, count) + (text.length > count ? "..." : ""); } console.log(fn("aognaglkanglnagln", 10));

Y expande a la clase de ayudantes para que puedas elegir si quieres los puntos o no:

function fn(text, count, insertDots){ return text.slice(0, count) + (((text.length > count) && insertDots) ? "..." : ""); } console.log(fn("aognaglkanglnagln", 10, true)); console.log(fn("aognaglkanglnagln", 10, false));


Esto se parece más a mí como lo que probablemente quieras.

$(document).ready(function(){ var stringWithShorterURLs = getReplacementString($(".tasks-overflow").text()); function getReplacementString(str){ return str.replace(/(https?/:////[^/s]*)/gi,function(match){ return match.substring(0,10) + "..." }); }});


usted le da su elemento html en la primera línea y luego toma todo el texto, reemplaza las URL con versiones de 10 caracteres y se lo devuelve. Esto parece un poco extraño, solo tiene 3 de los caracteres de URL así que lo recomendaría si es posible.

$(document).ready(function(){ var stringWithShorterURLs = getReplacementString($(".tasks-overflow p").text()); function getReplacementString(str){ return str.replace(/https?/:////([^/s]*)/gi,function(match){ return match.substring(0,10) + "..." }); }});

que arrancaría http: // o https: // e imprimiría hasta 10 caracteres de www.example.com


Lo que también debe hacer cuando trunca la cadena a diez caracteres es agregar la entidad real de elipses html: &hellip; , en lugar de tres períodos.


Prueba esto :)

var mystring = "How do I get a long text string"; mystring = mystring.substring(0,10); alert(mystring);


Si entiendo correctamente, ¿quieres limitar una cadena a 10 caracteres?

var str = ''Some very long string''; if(str.length > 10) str = str.substring(0,10);

¿Algo como eso?


Y aquí hay un ejemplo de jQuery:

Campo de texto HTML:

<input type="text" id="myTextfield" />

código jQuery para limitar su tamaño:

var elem = $("#myTextfield"); if(elem) elem.val(elem.val().substr(0,10));

Como ejemplo, puede usar el código jQuery anterior para restringir que el usuario ingrese más de 10 caracteres mientras escribe; el siguiente fragmento de código hace exactamente esto:

$(document).ready(function() { var elem = $("#myTextfield"); if (elem) { elem.keydown(function() { if (elem.val().length > 10) elem.val(elem.val().substr(0, 10)); }); } });

Actualización : el fragmento de código anterior solo se usó para mostrar un uso de ejemplo.

El siguiente fragmento de código manejará su problema con el elemento DIV:

$(document).ready(function() { var elem = $(".tasks-overflow"); if(elem){ if (elem.text().length > 10) elem.text(elem.text().substr(0,10)) } });

Tenga en cuenta que estoy usando text lugar de val en este caso, ya que el método val no parece funcionar con el elemento DIV.


Mostrar esto "texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto largo texto "

a

texto largo texto largo ...

function cutString(text){ var wordsToCut = 5; var wordsArray = text.split(" "); if(wordsArray.length>wordsToCut){ var strShort = ""; for(i = 0; i < wordsToCut; i++){ strShort += wordsArray[i] + " "; } return strShort+"..."; }else{ return text; } };


html

<p id=''longText''>Some very very very very very very very very very very very long string</p>

javascript (en doc ready)

var longText = $(''#longText''); longText.text(longText.text().substr(0, 10));

Si tiene varias palabras en el texto y desea que cada una se limite a un máximo de 10 caracteres, podría hacer lo siguiente:

var longText = $(''#longText''); var text = longText.text(); var regex = //w{11}/w*/, match; while(match = regex.exec(text)) { text = text.replace(match[0], match[0].substr(0, 10)); } longText.text(text);


(''very long string''.slice(0,10))+''...'' // "very long ..."