• Какое регулярное выражение подойдет для проверки номера телефона?

    @kudry
    Тоже столкнулся с проблемой валидизации телефонных номеров.
    Телефоны берутся с участников вебинаров, на которые записываются люди из очень разных стран.
    Соответственно, со всеми предыдущими схемами возникают проблемы:
    1) а что если телефон с Украины (не +7-, а +38-)? А из Казахстана? А США (1-)? А Уганда ( +233-)? (из Уганды, правда, пока слушателей не было, но все впереди).
    2)В разных местностях приняты самые невообразимые способы разбиения телефона на группы цифр:
    8(8888)8-88-88-88 например. или 888(88)88888-888. Да и какие угодно могут возникнуть в будущем.
    Поэтому вариант с "дефолтным разбиением типа "8(888)888-88-88 ну совершенно не катит.

    Соответственно, я придумал следующий валидатор:
    1) В начале могут быть пробелы, после них может быть "+" (а может и не быть)
    2) Дальше должна идти группа цифр в количестве от 10 до 14 (мне нужны номера в международном формате; но если кому-то нужны более короткие - можно исправить диапазон длин).
    3) Поскольку я не знаю, как люди группируют цифры - до и после каждой цифры может быть один из 8 знаков ("-", " ", "_", "(", ")", ":", "=", "+"). Это значит, что между двумя цифрами могут быть любые два из этих знаков.

    В итоге получилось очень коротко и понятно )) :
    /^(\s*)?(\+)?([- _():=+]?\d[- _():=+]?){10,14}(\s*)?$/

    Съедает следующие телефоны:
    +7(903)888-88-88
    8(999)99-999-99
    +380(67)777-7-777
    001-541-754-3010
    +1-541-754-3010
    19-49-89-636-48018
    +233 205599853
    Ответ написан
    1 комментарий
  • Использование контейнеров(Docker.io) для Continuous Deployment — какие сценарии использования?

    @creativ
    Рекомендую посмотреть CI платформу на основе Docker: drone
    Ответ написан
    Комментировать
  • Как вы, опытные, поступаете в таких случаях?

    @denis6064
    Fullstack web developer
    специально для таких случаев в базе данных, в таблице со статусами должно быть дополнительное поле, которое соответствует англоязычному статусу с кодом вашего статуcf (к примеру отправлено = sent и т.п. если состоит из двух слов, то код должен быть разделен нижним подчеркиванием). делая статус таким образом будет намного проще, нежели проверять русскоязычный текст.
    Ответ написан
    Комментировать
  • Как вы, опытные, поступаете в таких случаях?

    egor_nullptr
    @egor_nullptr
    Как вы поступаете в таких случаях когда api не возвращает коды ответов, а возвращает тексты?

    Берём другой API.
    Ответ написан
    Комментировать
  • Как сохранять фото на питон?

    BedwaRe
    @BedwaRe
    Пиши код
    На python 3 так можно:
    import urllib.request
    url = "https://pp.vk.me/c540104/c624218/v624218602/3321/uYVa4FQv_q0.jpg"
    img = urllib.request.urlopen(url).read()
    out = open("img.jpg", "wb")
    out.write(img)
    out.close
    Ответ написан
    1 комментарий