Here's an academic edition (it's also faster than a regular expression ):
function fold(input, lineSize, lineArray) { lineArray = lineArray || []; if (input.length <= lineSize) { lineArray.push(input); return lineArray; } lineArray.push(input.substring(0, lineSize)); var tail = input.substring(lineSize); return fold(tail, lineSize, lineArray); }
Using:
var arrayOfLines = fold(longString, 80); var foldedString = arrayOfLines.join('<br/>');
Another cool thing about this approach: you can easily wrap in spaces.
Here's the fiddle that does this.
source share