const regex = /^(((\+|00)32\s?|0)4(60|[789]\d)\/?(((\s|\.)?\d{2}){3}|((\s|\.)?\d{3}){2})$)|(^((\+|00)32\s?|0)(\d(\s|\.|\/)?\d{3}|\d{2}(\s|\.)?\d{2})((\s|\.)?\d{2}){2}$)/mg;
// Alternative syntax using RegExp constructor
// const regex = new RegExp('^(((\\+|00)32\\s?|0)4(60|[789]\\d)\\\/?(((\\s|\\.)?\\d{2}){3}|((\\s|\\.)?\\d{3}){2})$)|(^((\\+|00)32\\s?|0)(\\d(\\s|\\.|\\\/)?\\d{3}|\\d{2}(\\s|\\.)?\\d{2})((\\s|\\.)?\\d{2}){2}$)', 'mg')
const str = `+32497239319
0032497239319
0032/497/13/93/19
0032/497.13.93.19
0032/497/13/93/19
0032497/13.93.19
+32497/139319
0497/13.93.19
+32497.13.93.19
0497139319
0497 13 93 19
0497 139 319
jakkamakka
+32497139319 OF +32497149419
++32497139318
0123456789
0032123456789
036852931
003236852931
+3236852931
03/685.29.31
00323/685.29.31
+323/685.29.31
03.685.29.31
00323.685.29.31
+323.685.29.31
03/685/29/31
0032/3/685/29/31
+32/3/685/29.31
03/68.529.31
`;
// 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