php регулярное выражение номер телефона

для Российского мобильного номера вполне подойдёт такая схема:

'|(+7|7|+8|8)(9)(0-9){9}|'

например функция проверки:

public function phone($value)
	{
		$result = false;
		str_replace(' ','',$value);//отбросим пробелы

		 if ( $rez = preg_match('%^(\+7|7|8|\+8)(9)[0-9]{9}$%',$value))
			 $result = true;
		return $result;
	}

пропустит номера которые начинаются на 8 +8 7 или +7
потом идёт девятка - а потом любых девять цифр

на хабре что-то похожее обсуждалось здесь, но там предлагалось пропускать скобки и т.д. = а это не всегда нужно, ибо тогда можно просто саму форму ввода номера разбить на несколько фрагментов