folder Tahribat.com Forumları
linefolder Programlamaya Giriş
linefolder Düzenli İfadelerde Sıkıntı



Düzenli İfadelerde Sıkıntı

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    1 senedi elime program değmedi nası belli :/ düzenli ifadelerle o kadar uğraştığım halde hatırlayamıyorum.

    Şimdi bir kontrol yapıcam ; \w{3,15} olsun ve Türkçe karakterlerde olsun.

    match(/^[a-zA-Z0-9_]+$/) yapayım dedim, bu seferde Türkçe karakterleri nasıl çıkartacağımı unuttum.

    ^[a-zA-Z0-9_.^ğĞüÜşŞıİöÖçÇ]+$

    şeklinde kullanamıyor muyduk ?

  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    edit edit edit edit: Çözdüm isteyene;

    ------

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

    <script type="text/javascript">

    function Kontrol(){

        if((!document.yolla.adi.value.match(/^[A-Za-z0-9]+$/)) || (document.yolla.adi.value.length<3 || document.yolla.adi.value.length>15)){

            document.yolla.adi.focus();

            document.getElementById('uyari').innerHTML = '3-15 arası karakter girin (Türkçe yok)';

            return false;

        }else if((!document.yolla.nick.value.match(/^[A-Za-z0-9]+$/)) || (document.yolla.nick.value.length<4 || document.yolla.nick.value.length>15)){

            document.yolla.nick.focus();

            document.getElementById('uyari').innerHTML = 'Nick 4-15 karakter arasında olmalı (Türkçe karakter harici)';

            return false;

        }else if((!document.yolla.sifre.value.match(/^[A-Za-z0-9]+$/)) || (document.yolla.sifre.value.length<4 || document.yolla.sifre.value.length>15)){

            document.yolla.sifre.focus();

            document.getElementById('uyari').innerHTML = 'Şifrenin 4-15 karakter arasında olması şart.E bi zahmet Türkçe olmsın';

            return false;

        }else{

        alert('Yollanıyoo');

        }

    }

    </script>

    <form action="?" name="yolla" method="POST" onSubmit="return Kontrol();">

    <input type="text" name="adi"><br>

    <input type="text" name="nick"><br>

    <input type="text" name="sifre"><br>

    <input type="submit" value="Yolla">

    </form>

    <div id="uyari"></div>

     

     

     

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    7up 

  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    angels_demos
    angels_demos's avatar
    Kayıt Tarihi: 03/Haziran/2006
    Erkek

    hocam kodlara döndün döneli her gün bi kaç konu açıyosun :D

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    angels_demos bunu yazdı:
    -----------------------------

    hocam kodlara döndün döneli her gün bi kaç konu açıyosun :D


    ----------------------------- 

    abi Türkçe-ingilizce bakıyorum yok buamadım.O kadar düzenli ifade konusu var halledemedim, denedimde olmuyor.sinir oldum :)

  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    zumsuk bunu yazdı:
    -----------------------------

    1 senedi elime program değmedi nası belli :/ düzenli ifadelerle o kadar uğraştığım halde hatırlayamıyorum.

    Şimdi bir kontrol yapıcam ; \w{3,15} olsun ve Türkçe karakterlerde olsun.

    match(/^[a-zA-Z0-9_]+$/) yapayım dedim, bu seferde Türkçe karakterleri nasıl çıkartacağımı unuttum.

    ^[a-zA-Z0-9_.^ğĞüÜşŞıİöÖçÇ]+$

    şeklinde kullanamıyor muyduk ?


    -----------------------------

    ^[a-zA-Z0-9_.^ğĞüÜşŞıİöÖçÇ]+$ bu nedir hocam ?

    Zaten normalde türkçe karakterleri almaması lazm a-zA-Z nin


    The king is bleeding.
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    gVeR bunu yazdı:
    -----------------------------

    zumsuk bunu yazdı:
    -----------------------------

    1 senedi elime program değmedi nası belli :/ düzenli ifadelerle o kadar uğraştığım halde hatırlayamıyorum.

    Şimdi bir kontrol yapıcam ; \w{3,15} olsun ve Türkçe karakterlerde olsun.

    match(/^[a-zA-Z0-9_]+$/) yapayım dedim, bu seferde Türkçe karakterleri nasıl çıkartacağımı unuttum.

    ^[a-zA-Z0-9_.^ğĞüÜşŞıİöÖçÇ]+$

    şeklinde kullanamıyor muyduk ?


    -----------------------------

     

    ^[a-zA-Z0-9_.^ğĞüÜşŞıİöÖçÇ]+$ bu nedir hocam ?

    Zaten normalde türkçe karakterleri almaması lazm a-zA-Z nin


    ----------------------------- 

    alıyor abi ya ^ve$ ile başı sonu olmuyor ama ortasında tama diyor, onda olmasada alttaki nickte sıkıntı çıkıyor.

  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Hunter
    j4x
    j4x's avatar
    Kayıt Tarihi: 16/Temmuz/2005
    Erkek

    Hiçbişey anlamadım hocam karşılaştırmaya çalıştığın kelimeyide yazıp söylesen sorun ne...


    The king is bleeding.
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkF4Te
    DarkF4Te's avatar
    Kayıt Tarihi: 02/Mart/2008
    Erkek
    Olayı tam anlamadım ama \w{3,15} olsun diyorsan


    preg_match_all('@[a-zA-Z0-9ğĞüÜşŞıİöÖçÇ]{3,15}@','denemeşşppğ denemeler fıstıkçışahap aa',$var);

    print_r($var);

    Verdiğin örnekte başındaki ^ karakteri en baştan bu kurala uyuyorsa çalışır. Aynı şekilde sonunda da $ olduğuna göre tam olarak istediğin özellikleri taşıması gerekir. Benim yaptığımsa uyan bütün kayıtları topluyor preg_matchla yaparsan da uyan ilk kayıtı getirir.

    Son mesajda da Türkçe karakterleri ayıklamaya çalıştığını söylemişsin sanırım.

    echo preg_replace('@[ğĞüÜşŞıİöÖçÇ]@','','denemeşşppğ denemeler fıstıkçışahap aa');

    Onun içinde replace kullanabilirsin. Umarım yardımcı olmuşumdur, kolay gelsin.

  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Ayro
    Ayro's avatar
    Kayıt Tarihi: 08/Ağustos/2005
    Erkek

    hocam benim problemim şu

    3-15 arası veri girilsin, Türkçe karakterler içinde olmasın ^+& falanda olamsın.

    a-zA-Z0-9_. olsun.Bu.ORtada, sağda solda işğüğü +'^+ falan olmasın :) tek istediğim bu.

  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    DarkF4Te
    DarkF4Te's avatar
    Kayıt Tarihi: 02/Mart/2008
    Erkek

    preg_replace('@[^a-zA-Z0-9._]@','','benim_adım_ebruli_biraz gerçek biraz_rüya')

    Replace ile istemediğin karakterleri değiştirip, uygun forma getirebilirsin, çözüm olabilir sanırım. Bu patternıde açıklayayım. Karakter kümesi içinde ^ işareti olumsuzluk ifade ediyor değilse demek yani. a-zA-Z0-9 karakterleri ve ._ karakterleri dışındaki tüm karakterleri yakalamayı sağlıyor. 
    Karakter sınırlaması içinde strlen kullan bence. 

    if(strlen($nick) < 3 || strlen$nick > 15){
      echo '3-15 karakter arasında nick girmelisiniz.';
    }

Toplam Hit: 2772 Toplam Mesaj: 15