fork download
  1. <?php
  2.  
  3.  
  4. function valid($str, &$error)
  5. {
  6. if (strlen($str) < 6)
  7. {
  8. $error = "Длина пароля менее 6 символов";
  9. return false;
  10. }
  11. if (!preg_match("/^[ЁА-яA-z0-9]+$/",$str))
  12. {
  13. $error = "Пароль должен состоять только из букв и цифр";
  14. return false;
  15. }
  16. if (!preg_match("/[ЁА-ЯA-Z]+/",$str))
  17. {
  18. $error = "Пароль должен содержать хотябы 1 заглавную букву";
  19. return false;
  20. }
  21. return true;
  22. }
  23. $passwords = array("test", "test1!", "test123", "Test123", "Тест123", "ЁТест123");
  24. $error="";
  25. foreach ($passwords as $v)
  26. {
  27. if (valid($v, $error))
  28. echo "Пароль \"$v\" прошел проверку!<br/>\r\n";
  29. else
  30. echo "Пароль \"$v\" не прошел проверку по причине: <b>$error</b>.<br/>\r\n";
  31. }
  32. ?>
Success #stdin #stdout 0.02s 52480KB
stdin
Standard input is empty
stdout
Пароль "test" не прошел проверку по причине: <b>Длина пароля менее 6 символов</b>.<br/>
Пароль "test1!" не прошел проверку по причине: <b>Пароль должен состоять только из букв и цифр</b>.<br/>
Пароль "test123" не прошел проверку по причине: <b>Пароль должен содержать хотябы 1 заглавную букву</b>.<br/>
Пароль "Test123" прошел проверку!<br/>
Пароль "Тест123" не прошел проверку по причине: <b>Пароль должен состоять только из букв и цифр</b>.<br/>
Пароль "ЁТест123" не прошел проверку по причине: <b>Пароль должен состоять только из букв и цифр</b>.<br/>