preg_replace yardım: telefon numarası

2 Cevap php

Ben burada biraz yardıma ihtiyacım var. Bu xxx.xxx.xxxx olduğunda dışında - bu kodu doğru ben girmek her biçimini görüntüler

Bu içinde dönemlerini tutar! Nasıl ben de dönemlerde filtre mi?

preg_replace("/([0-9]{3})([0-9]{3})([0-9]{4})/", "$1-$2-$3", $phone_enter)

2 Cevap

Bunu bir . (nokta) sağlayacak böylece sorgu güncellemeniz gerekir, ben bir nokta sıfır veya bir kez görünebilir, yani \.? eklendi.

preg_replace("/([0-9]{3})\.?([0-9]{3})\.?([0-9]{4})/", "$1-$2-$3", $phone_enter)

Ben bunu istiyorum:

preg_replace('/(\d{3})([.-])?(\d{3})\2(\d{4})/', '$1-$3-$4', $phone_number);

\d [0-9] için kısaltmadır. Geribaşvuru kullanımı size "123.456.7890" veya "123.456.7890" değil "123.4567890" veya "123.456-7890" girebilirsiniz anlamına gelir.

Ayrıca ne yaptığınızı alakalı eğer diğer ülkeler farklı telefon numarası biçimleri olduğunu akılda tutmak.