import re

def is_phone(value):
    if not value:
        return False
    return is_mobile(value) or is_tel(value)

def is_mobile(value):
    if not value:
        return False
    return bool(re.match(r'^1[3-9]\d{9}$', value))

def is_tel(value):
    if not value:
        return False
    return bool(re.match(r'^(0\d{2,3}[- ]?)?\d{7,8}(-\d{1,6})?$', value))

def hide_between(phone):
    return phone[0:3] + '****' + phone[-4:]