fork download
  1. <?php
  2. /*
  3. Дан текст, который по идее должен быть номером телефона
  4. в виде 8-(911)-506 56 56 (т.е. человек может ввести не
  5. только цифры, но и скобки, минусы, может что-то еще).
  6. Но в реальности, пользователь может вместо номера
  7. написать что угодно. Напиши скрипт для проверки
  8. правильности введенного номера («8(911)-506 56 56» —
  9. правильный номер, «8-911-50-656-56» — правильный,
  10. «89115065656» — праивльный, «02» — неправильный,
  11. «89115065656 позвать Люду» — неправильный).
  12. */
  13. function CheckPhone($Phone){
  14.  
  15. $text=$Phone;
  16. $regexp='/^8-*([(])*([0-9]{3})-*([)])*-*([0-9]{1})-*([0-9]{1})-*([0-9]{1})-*\\s*([0-9]{1})-*\\s*([0-9]{1})-*\\s*([0-9]{1})-*\\s*([0-9]{1})$/';
  17. $matches=array();
  18. if(preg_match($regexp, $text, $matches)){
  19. echo "{$text} Всё верно. \n";
  20. echo "<br>";
  21. echo "<br>";
  22. }else{
  23. echo "{$text} Пожалуйста укажите номер в формате 89xxxxxxxxx\n";
  24. echo "<br>";
  25. }
  26. }
  27. $Ch1=CheckPhone("8(911)-506 56 56");
  28. $Ch2=CheckPhone("8-911-50-656-56");
  29. $Ch3=CheckPhone("02");
  30. $Ch4=CheckPhone("89115065656 позвать Люду");
  31. $Ch5=CheckPhone("89114001234");
  32. $Ch6=CheckPhone("8(911)506 56 56");
  33. ?>
Success #stdin #stdout 0.03s 52480KB
stdin
Standard input is empty
stdout
8(911)-506 56 56 Всё верно. 
<br><br>8-911-50-656-56 Всё верно. 
<br><br>02  Пожалуйста укажите номер в формате 89xxxxxxxxx
<br>89115065656 позвать Люду  Пожалуйста укажите номер в формате 89xxxxxxxxx
<br>89114001234 Всё верно. 
<br><br>8(911)506 56 56 Всё верно. 
<br><br>