fork(1) download
  1. <?php
  2. echo detectChars("例例")."\n";
  3. echo detectChars("Χαίρετε")."\n";
  4. echo detectChars("user345")."\n";
  5.  
  6. function detectChars($username){
  7. $chars = "NOT ALLOWED";
  8. switch(true){
  9. case preg_match('/^\p{Common}+$/u', $username):
  10. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Common}");
  11. break;
  12. case preg_match('/^\p{Arabic}+$/u', $username):
  13. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Arabic}");
  14. break;
  15. case preg_match('/^\p{Armenian}+$/u', $username):
  16. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Armenian}");
  17. break;
  18. case preg_match('/^\p{Bengali}+$/u', $username):
  19. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Bengali}");
  20. break;
  21. case preg_match('/^\p{Bopomofo}+$/u', $username):
  22. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Bopomofo}");
  23. break;
  24. case preg_match('/^\p{Braille}+$/u', $username):
  25. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Braille}");
  26. break;
  27. case preg_match('/^\p{Buhid}+$/u', $username):
  28. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Buhid}");
  29. break;
  30. case preg_match('/^\p{Canadian_Aboriginal}+$/u', $username):
  31. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Canadian_Aboriginal}");
  32. break;
  33. case preg_match('/^\p{Cherokee}+$/u', $username):
  34. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Cherokee}");
  35. break;
  36. case preg_match('/^\p{Cyrillic}+$/u', $username):
  37. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Cyrillic}");
  38. break;
  39. case preg_match('/^\p{Devanagari}+$/u', $username):
  40. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Devanagari}");
  41. break;
  42. case preg_match('/^\p{Ethiopic}+$/u', $username):
  43. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Ethiopic}");
  44. break;
  45. case preg_match('/^\p{Georgian}+$/u', $username):
  46. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Georgian}");
  47. break;
  48. case preg_match('/^\p{Greek}+$/u', $username):
  49. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Greek}");
  50. break;
  51. case preg_match('/^\p{Gujarati}+$/u', $username):
  52. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Gujarati}");
  53. break;
  54. case preg_match('/^\p{Gurmukhi}+$/u', $username):
  55. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Gurmukhi}");
  56. break;
  57. case preg_match('/^\p{Han}+$/u', $username):
  58. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Han}");
  59. break;
  60. case preg_match('/^\p{Hangul}+$/u', $username):
  61. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Hangul}");
  62. break;
  63. case preg_match('/^\p{Hanunoo}+$/u', $username):
  64. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Hanunoo}");
  65. break;
  66. case preg_match('/^\p{Hebrew}+$/u', $username):
  67. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Hebrew}");
  68. break;
  69. case preg_match('/^\p{Hiragana}+$/u', $username):
  70. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Hiragana}");
  71. break;
  72. case preg_match('/^\p{Inherited}+$/u', $username):
  73. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Inherited}");
  74. break;
  75. case preg_match('/^\p{Kannada}+$/u', $username):
  76. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Kannada}");
  77. break;
  78. case preg_match('/^\p{Katakana}+$/u', $username):
  79. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Katakana}");
  80. break;
  81. case preg_match('/^\p{Khmer}+$/u', $username):
  82. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Khmer}");
  83. break;
  84. case preg_match('/^\p{Lao}+$/u', $username):
  85. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Lao}");
  86. break;
  87. case preg_match('/^\p{Latin}+$/u', $username):
  88. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Latin}");
  89. break;
  90. case preg_match('/^\p{Limbu}+$/u', $username):
  91. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Limbu}");
  92. break;
  93. case preg_match('/^\p{Malayalam}+$/u', $username):
  94. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Malayalam}");
  95. break;
  96. case preg_match('/^\p{Mongolian}+$/u', $username):
  97. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Mongolian}");
  98. break;
  99. case preg_match('/^\p{Myanmar}+$/u', $username):
  100. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Myanmar}");
  101. break;
  102. case preg_match('/^\p{Ogham}+$/u', $username):
  103. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Ogham}");
  104. break;
  105. case preg_match('/^\p{Oriya}+$/u', $username):
  106. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Oriya}");
  107. break;
  108. case preg_match('/^\p{Runic}+$/u', $username):
  109. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Runic}");
  110. break;
  111. case preg_match('/^\p{Sinhala}+$/u', $username):
  112. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Sinhala}");
  113. break;
  114. case preg_match('/^\p{Syriac}+$/u', $username):
  115. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Syriac}");
  116. break;
  117. case preg_match('/^\p{Tagalog}+$/u', $username):
  118. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Tagalog}");
  119. break;
  120. case preg_match('/^\p{Tagbanwa}+$/u', $username):
  121. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Tagbanwa}");
  122. break;
  123. case preg_match('/^\p{Tamil}+$/u', $username):
  124. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Tamil}");
  125. break;
  126. case preg_match('/^\p{Telugu}+$/u', $username):
  127. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Telugu}");
  128. break;
  129. case preg_match('/^\p{Thaana}+$/u', $username):
  130. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Thaana}");
  131. break;
  132. case preg_match('/^\p{Thai}+$/u', $username):
  133. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Thai}");
  134. break;
  135. case preg_match('/^\p{Tibetan}+$/u', $username):
  136. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Tibetan}");
  137. break;
  138. case preg_match('/^\p{Yi} +$/u', $username):
  139. $chars = preg_replace('/\\\\p|\{|\}/m', '', "\p{Yi} ");
  140. break;
  141. }
  142. return $chars;
  143.  
  144. }
Success #stdin #stdout 0.03s 52480KB
stdin
Standard input is empty
stdout
Han
Greek
NOT ALLOWED