regex numara tespit deseni.

TeaMTurkeRŞenol TÜRKER

Selamun aleykum,  bir cok yerde arastirmama ragmen saglikli calisan bir telefon numarasi tespiti icin uygun bir regex bulamadim kendimde tam bir regex ozurlu oldugum icin kendimde yazamiyorum derdime bir care :)

Buldugum kodlar bir cok numara yazilimini gormuyor ornek vereyim;

0544 123 45 67

544 123 45 67

0544-123-45-67

544-123-45-67

0544.123.45.67

544.123.45.67

0544/123/45/67

544/123/45/67

05441234567

5441234567

(0544)(123)(45)(67) 

544 bosluk 123 bosluk 45 bosluk 67 nuramam bu

Vs. Gibi regexten kacma yolunu kullanan kullanicilar icin her turlu numarayi tespit etmek istiyorum fakat dedim gibi regex özürlü oldugum icin deseni yazamiyorumda :)

2013-12-27 00:40:34

Php

alicilinAli Fırat Güler

İstediğiniz regex olsun hocam.

preg_match('#^(\+\d{1,2})*(\s|\D)*\d{3,4}(\s|\D)*\d{3}(\s|\D)*\d{2}(\s|\D)*\d{2}$#is',$tlf);

Şöyle bir regex Yukarıda yazdığınız hertürlü telefon numarasını kaçırmadan yakalar.

Yani ne yaparsa yapsın mutlaka bir telefon numarası girmek zorundadır. Örnek;

+90 0541 555 55 55

5555555555

555*555_55|55

555                    555 ?))+)(=^?55 %/U+(^55 

smiley

Tabi bu uyumlu mu uyumsuz mu diye kontrol eder. Eğerki daha gelişmiş bişey istersen hocam Yani adam hangi tür yazarsa yazsın ben düz numara almak istiyorum dersen de şöyle bir fonksiyon işinizi görür.

function no($tno)

{

     preg_match('#^(\+\d{1,2})*(\s*|\D*)?(\d{3,4})(\s*|\D*)?(\d{3})(\s*|\D*)?(\d{2})(\s*|\D*)?(\d{2})$#is', $tno, $result);

     if(count($result) != 0)

{

    return $result[1].$result[3].$result[5].$result[7].$result[9];

     }

else

{

   return false;

}

 

}

buda bulursa düz bi şekilde alır. Bulamazsa da false verir. Sizde kullanıcıya şap diye suratına basarsınız hata mesajını smiley

2013-12-27 13:42:59 Edit:2013-12-27 16:36:38

Php

TeaMTurkeRŞenol TÜRKER

hocam çok sağol benim gibi egex özürlü bir üyeye yardımda bulunduğun için yanlız buna ne girersem girim numara yok diyor bendemi bir mallık var neee smiley

2013-12-27 17:43:50

alicilinAli Fırat Güler

estagfurullah hocam o nasıl söz. Sorun ben de de olabilir. denedim gönderdiydim ama. Siz birdaha gözden geçirin. yine olmadıysa ben bir gözden geçireyim tekrar göndereyim :)

2013-12-27 17:55:21

Edit:

Php

TeaMTurkeRŞenol TÜRKER

hee yok yok hocam sulanmış bir beyinin etkisi altında kalmışım ben biraz :) fonksiyonuz doğru ve çok başarılı çalışıyor ama cümle içinde çalışmıyor onu gözden kaçırmışım :) ben mesaj kutusunda insanların birbirine numara vermelerini engellemek istiyordum :)

2013-12-27 17:58:13

Php

alicilinAli Fırat Güler

Eğerki cümle içinde bulmasını isterseniz;

regex deseninin başındaki ^ ile sonundaki $ sembolünü kaldırın hocam. Muhtemelen çalışacaktır.

2013-12-27 18:13:24

TeaMTurkeRŞenol TÜRKER

bende öyle yaptım hocam çok sağol ama yinede engelleyemiyorum kullanıcıları bu kullanıcıların aklına şaşıyorum dün adamın bitanesi üşenmemiş yazı ile yazmış numarasını bu insanlarla baş etmek çokm zor hocam yaa smiley

2013-12-27 18:17:47

Edit:

Php

alicilinAli Fırat Güler

Ancak 7 / 24 bilgisayar başında oturup özel mesajları onaydan geçirmek lazım :D yoksa yok valla :D

2013-12-27 18:25:47

TeaMTurkeRŞenol TÜRKER

aynen vallahi hocam yaa insan aklıyla baş edebilecek bir yazılım ve programlama dili dili bulunana kadar öyle yapacağız sanırım :D

2013-12-27 18:29:57

Edit:

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro