1. Python / Говнокод #23658

    0

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    def normalize_phone(phone):
            if (not phone):
                return
            normalized_phone = phone.replace("(", "").replace(")", "").replace("+", "").replace("-", "").replace(" ", "")
            if normalized_phone[0] == "7":
                p = list(normalized_phone)
                p[0] = "8"
                normalized_phone = "".join(p)
            if normalized_phone[0] == "9":
                normalized_phone = "8" + normalized_phone
            return normalized_phone

    Питонокод пхпешника.

    Запостил: хуита, 17 Января 2018

    Комментарии (18) RSS

    • Не знаю, кися, я всё это делаю гораздо проще:

      $_POST['phone']=preg_replace('/\D/', '', $_POST['phone']);
      if($_POST['phone']!=''){
      if(substr($_POST['phone'], 0, 1)=='8' && strlen($_POST['phone'])==11){
      $_POST['phone']='7'.substr($_POST['phone'], 1);
      }
      }
      Ответить
      • А зачем заменять начальную восмёрку семёркой?
        Ответить
        • Перевод в международный формат, через код страны.
          Ответить
          • Но ведь в ОП-коде наоборот +7 приводится к восьмёрке.
            Ответить
            • ОП-код делает хуйню.
              Ответить
              • А анал-пер-оральный код ещё большую.

                А писаться он должен так:
                $phone = preg_replace('/\D/', '', $_POST['phone']);
                if(!empty($phone) && $phone[0] == '8' && strlen($phone) == 11) {
                    $phone[0] = '7';
                }
                Ответить
                • Да-да, главное - расставить эти ёбаные пробельчики вокруг операторов сравнения и присваивания...
                  Ответить
                  • Ты, наверное, на досуге читаешь какие-нибудь обфусцированные файлы на js для развлечения?
                    Ответить
                    • Не переходи в крайности, милый. Я просто всегда терпеть не мог табуляции и пробелы, которыми обычно разбавляют код алгоритма - нарушается его очевидность. Переносов строк вполне достаточно. Я некоторое время назад выкладывал ссылку на большой файл с таким, написанным мною кодом, - и глазу приятно, и работает.
                      Ответить
          • Всё верно. Конское количество деревенских долбоёбов, кроме российских номеров ничего больше не видевших, вводят номера своих телефонов с первой цифры "8". А номера проходят проверку на правильность (так как сайт рассчитан на использование не только в пределах России), и если пользователь увидит, что сайт отрицает корректность правильного, на взгляд колхозника, номера, то он просто съебёт с сайта, даже не связываясь со службой поддержки.
            Ответить

    Добавить комментарий