<?php
/*На вход скрипта дан введенный пользователем номер телефона в виде 8-911-404-44-11
или +7(812)6786767 (в начале 8 или +7, потом идут 10 цифр и, возможно, какие-то символы).
То есть, как и в прошлой задаче, человек вводит номер как хочет. Надо проверить номер
на правильность и привести любой номер к единому формату 89114044411
(то есть, заменить +7 на 8 и выкинуть весь мусор вроде пробелов, скобок и минусов, кроме цифр)
*/
$input = '+7 (8922) 42-42-42';
$regexp = "/^(8|\\+7)[\\s)(-]*(\\d[-)(\\s]*){10}$/"; /* исправил шаблон */
$input = trim($input); // добавил обрезание пробелов на всякий случай;
echo "good.\n";
}
else {
echo "invalid phone number.\n";
}
$phoneNumber = preg_replace('/\\A\\+\\s?7/', '8', $input); /*сначала заменяем +7 на 8 */
$phoneNumber = preg_replace('/[^\\d]/', '', $phoneNumber); /*а затем удаляем все символы отличные от [0-9] */
?>
PD9waHAKZXJyb3JfcmVwb3J0aW5nKC0xKTsKbWJfaW50ZXJuYWxfZW5jb2RpbmcoJ3V0Zi04Jyk7Ci8q0J3QsCDQstGF0L7QtCDRgdC60YDQuNC/0YLQsCDQtNCw0L0g0LLQstC10LTQtdC90L3Ri9C5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC8INC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsCDQsiDQstC40LTQtSA4LTkxMS00MDQtNDQtMTEgCtC40LvQuCArNyg4MTIpNjc4Njc2NyAo0LIg0L3QsNGH0LDQu9C1IDgg0LjQu9C4ICs3LCDQv9C+0YLQvtC8INC40LTRg9GCIDEwINGG0LjRhNGAINC4LCDQstC+0LfQvNC+0LbQvdC+LCDQutCw0LrQuNC1LdGC0L4g0YHQuNC80LLQvtC70YspLiAK0KLQviDQtdGB0YLRjCwg0LrQsNC6INC4INCyINC/0YDQvtGI0LvQvtC5INC30LDQtNCw0YfQtSwg0YfQtdC70L7QstC10Log0LLQstC+0LTQuNGCINC90L7QvNC10YAg0LrQsNC6INGF0L7Rh9C10YIuINCd0LDQtNC+INC/0YDQvtCy0LXRgNC40YLRjCDQvdC+0LzQtdGAIArQvdCwINC/0YDQsNCy0LjQu9GM0L3QvtGB0YLRjCDQuCDQv9GA0LjQstC10YHRgtC4INC70Y7QsdC+0Lkg0L3QvtC80LXRgCDQuiDQtdC00LjQvdC+0LzRgyDRhNC+0YDQvNCw0YLRgyA4OTExNDA0NDQxMSAKKNGC0L4g0LXRgdGC0YwsINC30LDQvNC10L3QuNGC0YwgKzcg0L3QsCA4INC4INCy0YvQutC40L3Rg9GC0Ywg0LLQtdGB0Ywg0LzRg9GB0L7RgCDQstGA0L7QtNC1INC/0YDQvtCx0LXQu9C+0LIsINGB0LrQvtCx0L7QuiDQuCDQvNC40L3Rg9GB0L7Qsiwg0LrRgNC+0LzQtSDRhtC40YTRgCkKKi8KCiRpbnB1dCA9ICcrNyAoODkyMikgNDItNDItNDInOwoKCiRyZWdleHAgPSAiL14oOHxcXCs3KVtcXHMpKC1dKihcXGRbLSkoXFxzXSopezEwfSQvIjsgLyog0LjRgdC/0YDQsNCy0LjQuyDRiNCw0LHQu9C+0L0gKi8KCiRpbnB1dCA9IHRyaW0oJGlucHV0KTsgLy8g0LTQvtCx0LDQstC40Lsg0L7QsdGA0LXQt9Cw0L3QuNC1INC/0YDQvtCx0LXQu9C+0LIg0L3QsCDQstGB0Y/QutC40Lkg0YHQu9GD0YfQsNC5OwoKaWYgKHByZWdfbWF0Y2goJHJlZ2V4cCwgJGlucHV0KSkgewoJZWNobyAiZ29vZC5cbiI7Cn0KZWxzZSB7CgllY2hvICJpbnZhbGlkIHBob25lIG51bWJlci5cbiI7CglleGl0Owp9CgokcGhvbmVOdW1iZXIgPSBwcmVnX3JlcGxhY2UoJy9cXEFcXCtcXHM/Ny8nLCAnOCcsICRpbnB1dCk7IC8q0YHQvdCw0YfQsNC70LAg0LfQsNC80LXQvdGP0LXQvCArNyDQvdCwIDggKi8KCiRwaG9uZU51bWJlciA9IHByZWdfcmVwbGFjZSgnL1teXFxkXS8nLCAnJywgJHBob25lTnVtYmVyKTsgLyrQsCDQt9Cw0YLQtdC8INGD0LTQsNC70Y/QtdC8INCy0YHQtSDRgdC40LzQstC+0LvRiyDQvtGC0LvQuNGH0L3Ri9C1INC+0YIgWzAtOV0gKi8KCnZhcl9kdW1wKCRwaG9uZU51bWJlcik7Cgo/Pgo=