Javascript - Split a string in chunks of specified lenght and return an array of chunks
Posted: Thu Dec 04, 2025 6:10 pm
Code: Select all
<script>
var msg = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam pretium accumsan odio, ac imperdiet orci interdum tempor. Donec consectetur justo arcu, quis ultrices lorem imperdiet quis. Morbi aliquam laoreet turpis vel porta. Nunc consectetur, velit ut malesuada faucibus, felis leo volutpat nibh, ut tincidunt metus magna quis enim. Proin vestibulum suscipit molestie. Ut imperdiet, lorem eget cursus commodo, quam leo eleifend dui, sed luctus est tellus ac nibh. Morbi ut tellus vitae metus accumsan lobortis nec vitae nisl. Praesent quis luctus metus, bibendum maximus diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Nulla posuere, augue in posuere luctus, velit tortor malesuada erat, at semper sem tortor sit amet elit. Pellentesque vel justo sed nisl rutrum tincidunt nec vel enim. Phasellus blandit porta erat, id eleifend neque lobortis a. Etiam hendrerit cursus justo vel pellentesque. Nulla vitae vehicula lorem. Nunc molestie id ex id tristique. Nullam fermentum nunc dictum turpis suscipit, a mattis sapien sodales. Aliquam eros lectus, luctus auctor laoreet eget, tincidunt nec sapien. In congue, mi sed suscipit auctor, ligula ipsum volutpat enim, elementum tempor felis lacus non lacus. Cras facilisis maximus imperdiet. Sed eu viverra eros. Curabitur eu dui iaculis odio interdum consectetur ac vel lacus. Sed scelerisque erat tortor, vitae eleifend nunc scelerisque at. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Pellentesque ullamcorper ligula rutrum ligula tempor pretium. Quisque egestas sapien id risus egestas facilisis. Nam vel mauris id metus viverra euismod bibendum nec sapien. Cras efficitur ultricies malesuada. Vestibulum at neque fermentum, fermentum libero eget, vestibulum purus. Quisque ullamcorper nec metus quis egestas. Nulla pulvinar vitae sem id pharetra. Suspendisse eu lorem nec tortorr porta consectetur ut quis ante. Fusce varius dolor vel viverra tempus. Curabitur urna ipsum, sodales ut demonstrate.';
//var msg = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam pretium accumsan odio, ac imperdiet orci interdum tempor.';
var chunkMaxChars = 300; // set max num of chars for each chunk. Any integer > 0
var msgChunks = [];
let strSize = msg => new Blob([msg]).size;
// var iter = msg.length / chunkMaxChars; // or use this
var iter = parseInt(strSize(msg)) / chunkMaxChars;
var str='';
var prv=nxt=0;
for (let i = 0; i < Math.floor(iter)+1; i++) {
if(i < 1){
str = msg.slice(0,chunkMaxChars);
prv += chunkMaxChars;
} else {
nxt = prv + chunkMaxChars;
str = msg.slice(prv,nxt);
prv += chunkMaxChars;
}
msgChunks.push(str);
}
console.log(msgChunks[msgChunks.length-1]); // display last chunk content
console.log(msgChunks); // display the entire array chunks result
console.log(msgChunks.length); // display the array length