Jump to content

Recommended Posts

Oi,

 

 Estou precisando de uma luz em uma dinâmica de texto.

 

Tenho um formulário que em alguns momentos utiliza palavras grandes.

 

Exemplo: "Pindamonhangaba"

 

Eu preciso que ela apareça na exibição assim: "Pin...aba" exibindo apenas as 3 primeiras e 3 últimas palavras incluindo o famoso "3 pontinhos no centro"

 

O resultado que consigo é apenas assim: "Pin..."

 

Podem me ajudar?

Share this post


Link to post
Share on other sites

JS:

function truncateMidlle(text, maxLength = 9, numberOfLetters = 3) {
  if(text.length >= maxLength) {
    const startPart = text.slice(0, numberOfLetters);
    const endPart = text.slice(-(text.length-numberOfLetters));
   
    return startPart +'...'+ endPart.slice(endPart.length-numberOfLetters, endPart.length);
  }
  return text;
}

console.log(truncateMidlle('abcdefghijklmn', 3, 5));
console.log(truncateMidlle('bala', 3));
console.log(truncateMidlle('Text para recuperar', 18));

// OUTPUT
// "abcde...jklmn"
// "bal...a"
// "Tex...rar"

JSBin: https://jsbin.com/rivocadaso/edit?html,js,console,output

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.