test-numbers-generator
Version:
Generate and validate European test phone numbers (mobile and landline) in safe, non-existent ranges.
48 lines (47 loc) • 2.76 kB
JavaScript
;
// Validator functions for test phone numbers
Object.defineProperty(exports, "__esModule", { value: true });
exports.isTestLandlineNumber = exports.isTestMobileNumber = void 0;
exports.isTestPhoneNumber = isTestPhoneNumber;
exports.isTestMobileNumber = {
Netherlands: (number) => /^0031 6 \d{8}$/.test(number),
Germany: (number) => /^0049 01[567] \d{7}$/.test(number),
Belgium: (number) => /^0032 4[789] \d{7}$/.test(number), // 47/48/49 zonder nationale 0
France: (number) => /^0033 [67] \d{8}$/.test(number),
UnitedKingdom: (number) => /^0044 7 \d{9}$/.test(number),
Spain: (number) => /^0034 [67]\d{8}$/.test(number),
Italy: (number) => /^0039 3\d{2} \d{7}$/.test(number),
Austria: (number) => /^0043 (664|676|699) \d{7}$/.test(number), // zonder nationale 0
Switzerland: (number) => /^0041 7[56789] \d{6}$/.test(number), // 75/76/77/78/79 zonder nationale 0
Sweden: (number) => /^0046 7 \d{8}$/.test(number),
Norway: (number) => /^0047 [49]\d{7}$/.test(number),
Denmark: (number) => /^0045 (20|21|22|23|24|25|26|27|28|29|30|31)\d{6}$/.test(number), // beperkt tot 20-31
Finland: (number) => /^00358 (4[0-9]|50|457|59) \d{6}$/.test(number), // 40-49/50/457/59 zonder nationale 0
Portugal: (number) => /^00351 9[1236] \d{7}$/.test(number),
Ireland: (number) => /^00353 8[35679] \d{6}$/.test(number), // 83/85/86/87/89 zonder nationale 0
Turkey: (number) => /^0090 53[1-9] \d{6}$/.test(number), // 531-539 zonder nationale 0
Morocco: (number) => /^00212 [67] \d{8}$/.test(number), // 6/7 zonder nationale 0
};
exports.isTestLandlineNumber = {
Netherlands: (number) => /^010 99\d{6}$/.test(number),
Germany: (number) => /^030 99\d{5}$/.test(number),
Belgium: (number) => /^02 99\d{6}$/.test(number),
France: (number) => /^01 99\d{6}$/.test(number),
UnitedKingdom: (number) => /^020 3999\d{4}$/.test(number),
Spain: (number) => /^91 99\d{5}$/.test(number),
Italy: (number) => /^06 99\d{6}$/.test(number),
Austria: (number) => /^01 99\d{6}$/.test(number),
Switzerland: (number) => /^044 99\d{6}$/.test(number),
Sweden: (number) => /^08 99\d{6}$/.test(number),
Norway: (number) => /^21 99\d{7}$/.test(number),
Denmark: (number) => /^33 99\d{4}$/.test(number),
Finland: (number) => /^09 99\d{6}$/.test(number),
Portugal: (number) => /^21 99\d{6}$/.test(number),
Ireland: (number) => /^01 99\d{6}$/.test(number),
Turkey: (number) => /^212 99\d{6}$/.test(number),
Morocco: (number) => /^0522 99\d{4}$/.test(number),
};
function isTestPhoneNumber(number) {
return Object.values(exports.isTestMobileNumber).some(fn => fn(number)) ||
Object.values(exports.isTestLandlineNumber).some(fn => fn(number));
}