uoj-validate-lib.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. function validateUsername($username) {
  3. return is_string($username) && preg_match('/^[a-zA-Z0-9_]{1,20}$/', $username);
  4. }
  5. function validatePassword($password) {
  6. return is_string($password) && preg_match('/^[a-z0-9]{32}$/', $password);
  7. }
  8. function validateEmail($email) {
  9. return is_string($email) && strlen($email) <= 50 && preg_match('/^(.+)@(.+)$/', $email);
  10. }
  11. function validateQQ($QQ) {
  12. return is_string($QQ) && strlen($QQ) <= 15 && preg_match('/^[0-9]{5,15}$/', $QQ);
  13. }
  14. function validateMotto($motto) {
  15. return is_string($motto) && ($len = mb_strlen($motto, 'UTF-8')) !== false && $len <= 50;
  16. }
  17. function validateUInt($x) { // [0, 1000000000)
  18. if (!is_string($x)) {
  19. return false;
  20. }
  21. if ($x === '0') {
  22. return true;
  23. }
  24. return preg_match('/^[1-9][0-9]{0,8}$/', $x);
  25. }
  26. function validateInt($x) {
  27. if (!is_string($x)) {
  28. return false;
  29. }
  30. if ($x[0] == '-') {
  31. $x = substr($x, 1);
  32. }
  33. return validateUInt($x);
  34. }
  35. function validateUploadedFile($name) {
  36. return isset($_FILES[$name]) && is_uploaded_file($_FILES[$name]['tmp_name']);
  37. }
  38. function validateIP($ip) {
  39. return filter_var($ip, FILTER_VALIDATE_IP) !== false;
  40. }