/(?:^[+]?[87][- ]?[0-9][0-9][0-9][- ]?[0-9][0-9][0-9][- ]?[0-9][0-9][- ]?[0-9][0-9]$)|(?:(?:^([+]?[87][- ]?[\(]?[0-9][0-9][0-9][- ]?[0-9]?[\)]?[- ]?)?[0-9]?[0-9][- ]?[0-9][0-9][- ]?[0-9][0-9]$)|(?:^([+]?[87][- ]?[\(]?[0-9][0-9][0-9][- ]?[0-9]?[\)]?[- ]?)?[0-9]?[0-9][0-9][- ]?[0-9][0-9][0-9]$))/
pcre совместимая, матчит мобилные и стационарные 5-6и знаки (с кодом города вида xxx xxx-x xxxx и без). Только для матча (т.е. правильного выдергивания данных в ней нет ибо для простой валидации). Опыта маловато, понадобилось вот, но не нагуглилось ничего.