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