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.  
  14. function CheckPhone($Phone){
  15.  
  16. $text=$Phone;
  17. $regexp='/^8-*([(]{1})*([0-9]{3})-*([)]{1})*([0-9]{2})-*([0-9]{3})-*([0-9]{2})-*$/';
  18. $matches=array();
  19. if(preg_match($regexp, $text, $matches)){
  20. echo "{$text} Всё верно. \n";
  21. echo "<br>";
  22. // var_dump($matches);
  23. echo "<br>";
  24. }else{
  25. echo "{$text} Пожалуйста укажите номер в формате 89xxxxxxxxx\n";
  26. echo "<br>";
  27. }
  28. }
  29.  
  30. function CheckMinus($Phone){
  31.  
  32. $text=$Phone;
  33. $regexp='/^---$/';
  34. $matches=array();
  35. if(preg_match($regexp, $text, $matches)){
  36. echo "{$text} Всё верно. \n";
  37. echo "<br>";
  38. // var_dump($matches);
  39. echo "<br>";
  40. }else{
  41. echo "{$text} Пожалуйста укажите номер в формате 89xxxxxxxxx\n";
  42. echo "<br>";
  43. }
  44. }
  45. function CheckScobka($Phone){
  46.  
  47. $text=$Phone;
  48. $regexp='/^8-*\\(*([0-9]{3})\\)*-*([0-9]{3})-*\\s*([0-9]{2})*\\s*([0-9]{2})*$/';
  49. $matches=array();
  50. if(preg_match($regexp, $text, $matches)){
  51. echo "{$text} Всё верно. \n";
  52. echo "<br>";
  53. //var_dump($matches);
  54. echo "<br>";
  55. }else{
  56. echo "{$text} Пожалуйста укажите номер в формате 89xxxxxxxxx\n";
  57. echo "<br>";
  58. }
  59. }
  60. $Ch1=CheckPhone("8(911)-506 56 56");
  61. $Ch2=CheckPhone("8-911-50-656-56");
  62. $Ch3=CheckPhone("02");
  63. $Ch4=CheckPhone("89115065656 позвать Люду");
  64. $Ch5=CheckPhone("89114001234");
  65. $Ch6=CheckPhone("8(911)506 56 56");
  66. echo "Тут уже вне задачи.";
  67. echo "<br>";
  68. //$Ch7=CheckMinus("---");
  69. $Ch7=CheckScobka("8(123)-123");
  70. $Ch8=CheckScobka("8(123)123");
  71. $Ch9=CheckScobka("8(911)-506 11 11");
  72.  
  73. ?>
Success #stdin #stdout 0.02s 52432KB
stdin
Standard input is empty
stdout
8(911)-506 56 56  Пожалуйста укажите номер в формате 89xxxxxxxxx
<br>8-911-50-656-56 Всё верно. 
<br><br>02  Пожалуйста укажите номер в формате 89xxxxxxxxx
<br>89115065656 позвать Люду  Пожалуйста укажите номер в формате 89xxxxxxxxx
<br>89114001234 Всё верно. 
<br><br>8(911)506 56 56  Пожалуйста укажите номер в формате 89xxxxxxxxx
<br>Тут уже вне задачи.<br>8(123)-123 Всё верно. 
<br><br>8(123)123 Всё верно. 
<br><br>8(911)-506 11 11 Всё верно. 
<br><br>