Quelqu'un dans Stack Overflow m'a donné ce code:Ce RegEx fonctionne seulement pour le numéro de téléphone de 8 chiffres, comment le faire fonctionner pour 15 chiffres?
$output = preg_replace('/(\+?\d{2}|0)(\d{7,8})/', '0$2', $test);
Il change l'entrée utilisateur:
+622112345 en 02112345
622112345 en 02112345
02112345 en 02112345
Malheureusement, cela ne fonctionne que pour 7-8 chiffres. J'ai décidé de changer le code dans ceci:
$output = preg_replace('/(\+?\d{2}|0)(\d{15})/', '0$2', $test);
En changeant (\d{7,8})
en (\d{15})
, j'espérais que je pourrais obtenir ce RegEx pour valider jusqu'à 15 chiffres. Mais, voici ce que j'ai:
input : 083812345678910 >> output : 083812345678910 [correct]
input : 6283812345678910 >> output : 6283812345678910 [false, should be : 083812345678910]
input : +6283812345678910 >> output : 6283812345678910 [false, should be : 083812345678910]
Comment puis-je faire cela fonctionne sur 15 numéros de chiffres? Merci.
MISE À JOUR: l'entrée de l'utilisateur peut être de 10, 11, 12 ou même 13 chiffres. mais pas plus de 15 chiffres. J'ai donc besoin de ce code pour changer le préfixe: soit +62, 62 ou 0 INTO 0xxxx. peu importe le nombre de chiffres qu'ils ont, 15 maximum.
Attendez, avez-vous besoin pour être valide jusqu'à 15 chiffres ou exactement 15 chiffres? {15} signifie exactement 15. {7,15} signifierait entre 7 et 15 chiffres (inclus). – BlackVegetable
Quel est votre code supposé faire? –
vous avez aussi des entrées à 16 chiffres –