• 17-01-2024, 17:27:51
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşlar selamlar. telefon numarası için bir input var. Buraya harf rakam her şey girilebiliyor. Öncelikle rakam harici bir karakter yazılmasını istemiyorum.
    Ayrıca numaraların başında alan kodunun da olmasını istemiyorum. Mesela +905446665588 yazdım kaydederken +90'ı silip sadece 5446665588 olarak numarayı kaydetmesini istiyorum. Eğer bu olmazsa şöyle de olabilir. Bunu nasıl yapabilirim?

    Mevcut kodum aşağıdaki gibidir;

    $value = (isset($lead) ? $lead->phonenumber : ''); ?>
                    <?php echo render_input('phonenumber', 'lead_add_edit_phonenumber', $value); ?>
                    <div class="form-group">
                        <label for="lead_value"><?php echo _l('lead_value'); ?></label>
                        <div class="input-group" data-toggle="tooltip" title="<?php echo _l('lead_value_tooltip'); ?>">
                            <input type="number" class="form-control" name="lead_value" value="<?php if (isset($lead)) {
                    echo $lead->lead_value;
                }?>">
                            <div class="input-group-addon">
                                <?php echo $base_currency->symbol; ?>
                            </div>
                        </div>
                        </label>
                    </div>
  • 17-01-2024, 17:29:44
    #2
    PM-dan ücretli destek olabilirim
  • 17-01-2024, 17:31:41
    #3
    function duzenleTelefonNumarasi($numara) {
        
        if (preg_match('/[a-zA-Z]/', $numara)) {
            echo "Hata: Rakam dışında karakter girişi yapılamaz.";
            return;
        }
    
       
        if (strpos($numara, '+90') === 0) {
            $numara = substr($numara, 3);
        }
    
        
        $numara = preg_replace('/\s+/', '', $numara);
    
        echo "Düzenlenmiş Numara: " . $numara;
    }
    
    $telefonNumarasi = "+905446665588";
    
    duzenleTelefonNumarasi($telefonNumarasi);
    CHATGPT
  • 17-01-2024, 17:34:49
    #4
    baguvix adlı üyeden alıntı: mesajı görüntüle
    function duzenleTelefonNumarasi($numara) {
        
        if (preg_match('/[a-zA-Z]/', $numara)) {
            echo "Hata: Rakam dışında karakter girişi yapılamaz.";
            return;
        }
    
      
        if (strpos($numara, '+90') === 0) {
            $numara = substr($numara, 3);
        }
    
        
        $numara = preg_replace('/\s+/', '', $numara);
    
        echo "Düzenlenmiş Numara: " . $numara;
    }
    
    $telefonNumarasi = "+905446665588";
    
    duzenleTelefonNumarasi($telefonNumarasi);
    CHATGPT
    Bu kodu benim yukarıda paylaştığım kodun neresine yazacağım başkanım?
  • 17-01-2024, 17:36:44
    #5
    Aytacgogu adlı üyeden alıntı: mesajı görüntüle
    Bu kodu benim yukarıda paylaştığım kodun neresine yazacağım başkanım?
    Eğer istek atılmadan önce kontrol yapacaksan javascript kullanmalısın , tam işlemi nerede yapacaksınız istek attıktan sonra mı önce mi?
  • 17-01-2024, 17:39:58
    #6
    baguvix adlı üyeden alıntı: mesajı görüntüle
    function duzenleTelefonNumarasi($numara) {
        
        if (preg_match('/[a-zA-Z]/', $numara)) {
            echo "Hata: Rakam dışında karakter girişi yapılamaz.";
            return;
        }
    
      
        if (strpos($numara, '+90') === 0) {
            $numara = substr($numara, 3);
        }
    
        
        $numara = preg_replace('/\s+/', '', $numara);
    
        echo "Düzenlenmiş Numara: " . $numara;
    }
    
    $telefonNumarasi = "+905446665588";
    
    duzenleTelefonNumarasi($telefonNumarasi);
    CHATGPT
    baguvix adlı üyeden alıntı: mesajı görüntüle
    Eğer istek atılmadan önce kontrol yapacaksan javascript kullanmalısın , tam işlemi nerede yapacaksınız istek attıktan sonra mı önce mi?
    Eğer otomatik numarayı 5'ile kaydetmek çok sıkıntı yaptırtacak bir durum ise en kötü numarayı +90 ile yazdığında uyarı versin desin ki numara sadece 5 ile başlamalı. Bunu kaydet demeden önce yazarken anlık da verebilir veya kaydete bastıktan sonra da verebilir.
  • 17-01-2024, 17:43:35
    #7
    Aytacgogu adlı üyeden alıntı: mesajı görüntüle
    Eğer otomatik numarayı 5'ile kaydetmek çok sıkıntı yaptırtacak bir durum ise en kötü numarayı +90 ile yazdığında uyarı versin desin ki numara sadece 5 ile başlamalı. Bunu kaydet demeden önce yazarken anlık da verebilir veya kaydete bastıktan sonra da verebilir.
    $value = (isset($lead) ? $lead->phonenumber : ''); ?>
                    <?php echo render_input('phonenumber', 'lead_add_edit_phonenumber', $value); ?>
                    <div class="form-group">
                        <label for="lead_value"><?php echo _l('lead_value'); ?></label>
                        <div class="input-group" data-toggle="tooltip" title="<?php echo _l('lead_value_tooltip'); ?>">
                            <input oninput="kontrolEt(this)" type="number" class="form-control" name="lead_value" value="<?php if (isset($lead)) {
                    echo $lead->lead_value;
                }?>">
                            <div class="input-group-addon">
                                <?php echo $base_currency->symbol; ?>
                            </div>
                        </div>
                        </label>
                    </div>
    <script>
            function kontrolEt(input) {
                var sadeceRakam = input.value.replace(/\D/g, '');
                if (sadeceRakam.startsWith('90')) {
                    sadeceRakam = sadeceRakam.slice(2);
                }
                input.value = sadeceRakam;
            }
        </script>
    uzunluk eklemedim uzunluk kontrolüde eklenebilir boşluklu halide 530 xxx xx xx gibi
  • 17-01-2024, 17:49:27
    #8
    baguvix adlı üyeden alıntı: mesajı görüntüle
    $value = (isset($lead) ? $lead->phonenumber : ''); ?>
                    <?php echo render_input('phonenumber', 'lead_add_edit_phonenumber', $value); ?>
                    <div class="form-group">
                        <label for="lead_value"><?php echo _l('lead_value'); ?></label>
                        <div class="input-group" data-toggle="tooltip" title="<?php echo _l('lead_value_tooltip'); ?>">
                            <input oninput="kontrolEt(this)" type="number" class="form-control" name="lead_value" value="<?php if (isset($lead)) {
                    echo $lead->lead_value;
                }?>">
                            <div class="input-group-addon">
                                <?php echo $base_currency->symbol; ?>
                            </div>
                        </div>
                        </label>
                    </div>
    <script>
            function kontrolEt(input) {
                var sadeceRakam = input.value.replace(/\D/g, '');
                if (sadeceRakam.startsWith('90')) {
                    sadeceRakam = sadeceRakam.slice(2);
                }
                input.value = sadeceRakam;
            }
        </script>
    uzunluk eklemedim uzunluk kontrolüde eklenebilir boşluklu halide 530 xxx xx xx gibi
    Kodu ekledim fakat yine inputa +90 yazarak kaydettim numarayı yazdığım gibi kaydetti

    $value = (isset($lead) ? $lead->phonenumber : ''); ?>
                    <?php echo render_input('phonenumber', 'lead_add_edit_phonenumber', $value); ?>
                    <div class="form-group">
                        <label for="lead_value"><?php echo _l('lead_value'); ?></label>
                        <div class="input-group" data-toggle="tooltip" title="<?php echo _l('lead_value_tooltip'); ?>">
                            <input oninput="kontrolEt(this)" type="number" class="form-control" name="lead_value" value="<?php if (isset($lead)) {
                    echo $lead->lead_value;
                }?>">
                            <div class="input-group-addon">
                                <?php echo $base_currency->symbol; ?>
                            </div>
                        </div>
                        </label>
                    </div>
    <script>
            function kontrolEt(input) {
                var sadeceRakam = input.value.replace(/\D/g, '');
                if (sadeceRakam.startsWith('90')) {
                    sadeceRakam = sadeceRakam.slice(2);
                }
                input.value = sadeceRakam;
            }
        </script>
  • 17-01-2024, 18:12:34
    #9
    Aytacgogu adlı üyeden alıntı: mesajı görüntüle
    Kodu ekledim fakat yine inputa +90 yazarak kaydettim numarayı yazdığım gibi kaydetti

    $value = (isset($lead) ? $lead->phonenumber : ''); ?>
                    <?php echo render_input('phonenumber', 'lead_add_edit_phonenumber', $value); ?>
                    <div class="form-group">
                        <label for="lead_value"><?php echo _l('lead_value'); ?></label>
                        <div class="input-group" data-toggle="tooltip" title="<?php echo _l('lead_value_tooltip'); ?>">
                            <input oninput="kontrolEt(this)" type="number" class="form-control" name="lead_value" value="<?php if (isset($lead)) {
                    echo $lead->lead_value;
                }?>">
                            <div class="input-group-addon">
                                <?php echo $base_currency->symbol; ?>
                            </div>
                        </div>
                        </label>
                    </div>
    <script>
            function kontrolEt(input) {
                var sadeceRakam = input.value.replace(/\D/g, '');
                if (sadeceRakam.startsWith('90')) {
                    sadeceRakam = sadeceRakam.slice(2);
                }
                input.value = sadeceRakam;
            }
        </script>
    Konsolda hata var ise buraya atabilir misiniz?