const regex = /(?:\d[ -]*?){13,16}/gm;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('(?:\\d[ -]*?){13,16}', 'gm')
const str = `Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla luctus pellentesque nunc, quis auctor metus porttitor sit amet. In eu ex metus. Aenean felis nibh, maximus sed volutpat id, iaculis eu orci. Donec ut mollis sapien. Cras consequat, turpis non blandit dignissim, ligula lorem dapibus leo, eget varius 4111 1234 1234 1234 libero ligula nec felis. Aenean hendrerit porta velit, ut aliquet lectus efficitur id. Cras molestie bibendum justo sit amet scelerisque. Suspendisse arcu nulla, pulvinar et dolor quis, ultricies sodales leo. Donec sagittis sed nulla nec commodo. Donec rutrum nibh nisl, sit amet pretium odio aliquam at.
Integer faucibus, nulla et pellentesque porttitor, lorem ex molestie dolor, et tincidunt ligula mauris a orci. Nunc condimentum condimentum metus. Sed sit amet iaculis tellus. Aliquam vitae dolor nisi. Pellentesque habitant 5111-1234-1234-1234morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed vitae quam urna. Aenean vel consectetur nisi. Duis nec nibh nibh. Nullam id augue id ipsum fermentum hendrerit.
Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Etiam efficitur augue nec porta varius. Nunc tempus commodo dui vitae pretium. Maecenas ornare ornare velit, sed eleifend lectus aliquam id. Aliquam sed pretium sapien. Integer rutrum fermentum velit, sed tristique metus hendrerit et. Integer pretium augue vel ultricies accumsan. Nunc sapien justo, faucibus sed varius quis, vestibulum eget orci. Curabitur bibendum erat sit amet sollicitudin elementum. Aliquam volutpat augue vel nisl tincidunt sollicitudin. Nam accumsan lobortis odio, ac faucibus ligula tristique ac.
In velit lectus, tempor convallis risus convallis, posuere viverra lacus. Morbi non nisl eget nunc dignissim imperdiet. Mauris in venenatis quam, eget congue arcu. Duis maximus metus quis dictum dignissim. Nullam vel felis velit. Suspendisse elit tortor, mattis a diam vitae, semper sodales 37 3111 1234 12345 enim. Pellentesque ullamcorper leo a erat placerat lacinia. Vestibulum ac tellus non magna iaculis aliquam.
Phasellus nec libero ac dui fringilla sodales a sit amet sem. Nullam congue urna mauris, sed ullamcorper tortor ultricies vitae. Curabitur tincidunt vitae purus vitae eleifend. Donec id tortor in ligula lacinia porttitor ullamcorper quis massa. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean nec tempor turpis. Ut nec metus porta, euismod lorem6011111111111117nec, tempor lorem. Morbi interdum porta dolor tincidunt pretium. Morbi libero nibh, feugiat nec tincidunt ultricies, condimentum sed nulla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse congue elit sed metus fermentum malesuada. Phasellus vitae tristique justo. Vivamus ultrices, ligula eu suscipit cursus, tortor turpis congue dui, ut accumsan lorem lorem id ex. Mauris et aliquam massa. Duis posuere tempor elit in dapibus. Phasellus eget vulputate enim.`;
// Reset `lastIndex` if this regex is defined globally
// regex.lastIndex = 0;
let m;
while ((m = regex.exec(str)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (m.index === regex.lastIndex) {
regex.lastIndex++;
}
// The result can be accessed through the `m`-variable.
m.forEach((match, groupIndex) => {
console.log(`Found match, group ${groupIndex}: ${match}`);
});
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions