Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 10th, 2010 | Syntax: PHP | Size: 2.33 KB | Hits: 144 | Expires: Never
Copy text to clipboard
  1.         public static function isValidName($name)
  2.         {
  3.                 if (strlen($name) < 2 || strlen($name) > 20)
  4.                         return false;
  5.  
  6.                 if (substr($name, 0, 4) == 'God ' || substr($name, 0, 3) == 'Gm ' || substr($name, 0, 3) == 'Cm ')
  7.                         return false;
  8.  
  9.                 if (preg_match('/^[-a-zA-Z ]+$/', $name)) {
  10.                         $len = strlen($name);
  11.                         $lenBeforeSpace = 1;
  12.                         $lenBeforeDash = 1;
  13.                         $repeatedCharacter = 0;
  14.                         $lastChar = ' ';
  15.                         for ($i = 1; $i < $len; $i++) {
  16.                                 if ($name[$i] != ' ') {
  17.                                         $lenBeforeSpace++;
  18.  
  19.                                         if ($name[$i] == '-') {
  20.                                                 if ($i == 0 || $lenBeforeDash <= 1 || $i == strlen($name) - 1 || $name[$i + 1] == ' ')
  21.                                                         return false;
  22.  
  23.                                                 $lenBeforeDash = 0;
  24.                                         } else {
  25.                                                 $lenBeforeDash++;
  26.                                         }
  27.  
  28.                                         if ($name[$i] == $lastChar) {
  29.                                                 $repeatedCharacter++;
  30.                                                 if ($repeatedCharacter > 2)
  31.                                                         return false;
  32.                                         } else {
  33.                                                 $repeatedCharacter = 0;
  34.                                         }
  35.  
  36.                                         $lastChar = $name[$i];
  37.                                 } else {
  38.                                         if ($lenBeforeSpace <= 1 || $i == strlen($name) - 1 || $name[$i + 1] == ' ')
  39.                                                 return false;
  40.  
  41.                                         $repeatedCharacter = 0;
  42.                                         $lenBeforeSpace = 0;
  43.                                         $lenBeforeDash = 0;
  44.                                 }
  45.                         }
  46.                         return true;
  47.                 }
  48.                 return false;
  49.         }