-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript.js
43 lines (38 loc) · 4.17 KB
/
script.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/*
Opérateur:Numéros attribués
Maroc Telecom; 0610XXXXXX, 0611XXXXXX, 0613XXXXXX, 0615XXXXXX, 0616XXXXXX, 0618XXXXXX, 0622XXXXXX, 0623XXXXXX, 0624XXXXXX, 0628XXXXXX, 0636XXXXXX, 0637XXXXXX, 0639XXXXXX, 0641XXXXXX, 0642XXXXXX, 0643XXXXXX, 0648XXXXXX, 0650XXXXXX, 0651XXXXXX, 0652XXXXXX, 0653XXXXXX, 0654XXXXXX, 0655XXXXXX, 0658XXXXXX, 0659XXXXXX, 0661XXXXXX, 0662XXXXXX, 0666XXXXXX, 0667XXXXXX, 0668XXXXXX, 0670XXXXXX, 0671XXXXXX, 0672XXXXXX, 0673XXXXXX, 0676XXXXXX, 0677XXXXXX, 0678XXXXXX, 0682XXXXXX, 0689XXXXXX, 0696XXXXXX, 0697XXXXXX, 0750XXXXXX, 0751XXXXXX, 0752XXXXXX. 0753XXXXXX, 760XXXXXXX, 0761XXXXXX, 0762XXXXXX, 0763XXXXXX, 0764XXXXXX, 0765XXXXXX, 0766XXXXXX, 0767XXXXXX, 0768XXXXXX, 0769XXXXXX
Orange Maroc; 0612XXXXXX, 0614XXXXXX, 0617XXXXXX, 0619XXXXXX, 0620XXXXXX, 0621XXXXXX, 0625XXXXXX, 0631XXXXXX, 0632XXXXXX, 0644XXXXXX, 0645XXXXXX, 0649XXXXXX, 0656XXXXXX, 0657XXXXXX, 0660XXXXXX, 0663XXXXXX, 0664XXXXXX, 0665XXXXXX, 0669XXXXXX, 0674XXXXXX, 0675XXXXXX, 0679XXXXXX, 0684XXXXXX, 0688XXXXXX, 0691XXXXXX, 0693XXXXXX, 0694XXXXXX, 0770XXXXXX, 0771XXXXXX, 0772XXXXXX, 0773XXXXXX, 0774XXXXXX, 0775XXXXXX, 0776XXXXXX, 0777XXXXXX, 0778XXXXXX, 0779XXXXXX, 0780XXXXXX, 0781XXXXXX, 0782XXXXXX, 0783XXXXXX, 0784XXXXXX, 0785XXXXXX
inwi; 0526XXXXXX, 0527XXXXXX, 0533XXXXXX, 0534XXXXXX, 0540XXXXXX, 0546XXXXXX, 0547XXXXXX, 0550XXXXXX, 0553XXXXXX, 0600XXXXXX, 0601XXXXXX, 0602XXXXXX, 0603XXXXXX, 0604XXXXXX, 0605XXXXXX, 0606XXXXXX, 0607XXXXXX, 0608XXXXXX, 0609XXXXXX, 0626XXXXXX, 0627XXXXXX, 0629XXXXXX, 0630XXXXXX, 0633XXXXXX, 0634XXXXXX, 0635XXXXXX, 0638XXXXXX, 0640XXXXXX, 0646XXXXXX, 0647XXXXXX, 0680XXXXXX, 0681XXXXXX, 0687XXXXXX, 0690XXXXXX, 0695XXXXXX, 0698XXXXXX, 0699XXXXXX, 0700XXXXXX, 0701XXXXXX, 0702XXXXXX, 0703XXXXXX, 0704XXXXXX, 0705XXXXXX,0706XXXXXX, 0707XXXXXX, 0708XXXXXX, 0709XXXXXX, 0710XXXXXX, 0711XXXXXX, 0712XXXXXX, 0713XXXXXX, 0714XXXXXX, 0715XXXXXX, 0716XXXXXX, 0717XXXXXX, 0718XXXXXX, 0719XXXXXX, 0720XXXXXX, 0721XXXXXX, 0722XXXXXX, 0723XXXXXX, 0724XXXXXX, 0726XXXXXX, 0727XXXXXX
source: https://www.tic-maroc.com/2013/01/blocs-des-numeros-destines-aux-reseaux-gsm.html
*/
function checkOperator() {
// Define operator mappings
const operators =
{
'Maroc Telecom': ['0610','0611','0613','0615','0616','0618','0622','0623','0624','0628','0636','0637','0639','0641','0642','0643','0648','0650','0651','0652','0653','0654','0655','0658','0659','0661','0662','0666','0667','0668','0670','0671','0672','0673','0676','0677','0678','0682','0689','0696','0697','0750','0751','0752','0753','0760','0761','0762','0763','0764','0765','0766','0767','0768','0769'],
'Orange Maroc': ['0612','0614','0617','0619','0620','0621','0625','0631','0632','0644','0645','0649','0656','0657','0660','0663','0664','0665','0669','0674','0675','0679','0684','0688','0691','0693','0694','0770','0771','0772','0773','0774','0775','0776','0777','0778','0779','0780','0781','0782','0783','0784','0785'],
'inwi': ['0526','0527','0533','0534','0540','0546','0547','0550','0553','0600','0601','0602','0603','0604','0605','0606','0607','0608','0609','0626','0627','0629','0630','0633','0634','0635','0638','0640','0646','0647','0680','0681','0687','0690','0695','0698','0699','0700','0701','0702','0703','0704','0705','0706','0707','0708','0709','0710','0711','0712','0713','0714','0715','0716','0717','0718','0719','0720','0721','0722','0723','0724','0726','0727']
}
// Get input value
const phoneNumber = document.getElementById('phoneNumber').value.trim();
const resultDiv = document.getElementById('result');
// Validate input
if (!/^0[5,6,7]\d{8}$/.test(phoneNumber)) {
resultDiv.textContent = 'Please enter a valid Moroccan phone number.';
resultDiv.style.color = 'red';
return;
}
// Extract the first 4 digits
const prefix = phoneNumber.substring(0, 4);
// Check operator
let operatorFound = 'Unknown Operator';
for (const [operator, prefixes] of Object.entries(operators)) {
if (prefixes.includes(prefix)) {
operatorFound = operator;
break;
}
}
// Display result
resultDiv.textContent = `Operator: ${operatorFound}`;
resultDiv.style.color = operatorFound === 'Unknown Operator' ? 'red' : 'green';
}