Faire une petite aide aux auteurs pour ajouter / supprimer des lignes vides dans textarea. Celui qui supprime les lignes supplémentaires semble fonctionner:

if(jQuery("#remove_line").prop("checked")){
        conver = conver.replace(/^\s*[\r\n]/gm,'');
    }

Mais il doit y avoir une ligne inversée qui transforme toute nouvelle ligne en double nouvelle ligne (peu importe s'il n'y a qu'une ou même 3 nouvelles lignes dans une ligne). Par exemple. ce:

text
text



text

text

Doit être traité en ceci:

text

text

text

text

Quelqu'un peut-il vous aider? Merci d'avance!

0
Hitoris 25 févr. 2021 à 03:48

3 réponses

Meilleure réponse

Vous pouvez faire correspondre une ou plusieurs nouvelles lignes [\r\n]+ et les remplacer par 2 nouvelles lignes \n\n

const regex = /[\r\n]+/gm;
const str = `text
text



text

text`;

console.log(str.replace(/[\r\n]+/g, `\n\n`));
0
The fourth bird 25 févr. 2021 à 00:51

L'inverse?

addEventListener('load', ()=>{
const ta = document.querySelector('textarea');
function doubleSpaceAfter(fullText, text, insensitive = true){
  const s = insensitive ? 'i' : '';
  return fullText.replace(new RegExp('('+text+')\\s+', 'g'+s), '\n\n$1\n\n');
}
ta.value = doubleSpaceAfter(ta.value, 'text here');
}); // end load
<textarea>other stuff text here is this what you want? text here text here</textarea>
0
StackSlave 25 févr. 2021 à 01:13

N'a pas testé mais je pense que cela pourrait fonctionner: replace(/[\n]+?/g,'\n\n')

\ n + correspondra à 1 ou plusieurs nouvelles lignes, le point d'interrogation forcera à prendre la quantité la plus courte possible (cela arrêtera le bloc correspondant au premier caractère non nouvelle ligne)

0
Scurra Magna 25 févr. 2021 à 00:59