ニックネームの視覚的類似性の確認-PHP

データベースに存在するユーザー名を確認します。 trueまたはfalseを返します。 falseの場合、ユーザーは存在し、trueの場合、登録を続行できます。

また、ニックネームの類似性(視覚的に)のチェックもあります。 ニックネームに「a」(英語)ではなく「a」(ロシア語)などが含まれている場合はfalseが生成されます。



function checkUsr($name)

{



$name = strtolower($name); //strtolower

$replace_word = array ('e' => '[e]', 'r' => '[r]', 't' => '[t]', 'y' => '[y]','u' => '[u]','i' => '[i1l!]','o' => '[o0]','p' => '[p]','a' => '[a]','s' => '[s5]','w' => 'w','q' => 'q','d' => 'd','f' => 'f','g' => '[g]','h' => '[h]','j' => 'j','k' => '[k]','l' => '[l1i!]','z' => 'z','x' => '[x%]','c' => '[c]','v' => '[vu]','b' => '[b]','n' => '[n]','m' => '[m]','' => '[u]','' => '','' => '[y]','' => '[e]','' => '[h]','' => '[r]','' => '[w]','' => '[w]','' => '[3]','' => '[x%]','' => '[]','' => '','' => '(|[i1l!]?)','' => '[b]','' => '[a]','' => '[n]','' => '[p]','' => '[o0]','' => '[n]','' => '','' => '','' => '[3]','' => '[]','' => '[4]','' => '[c]','' => '[m]','' => '[u]','' => '[t]','' => '[b]','' => '[6]','' => '(|[!1il][o0])','' => '[e]','1' => '[1il!]','2' => '2','3' => '[3]','4' => '[4]','5' => '[5s]','6' => '[6]','7' => '7','8' => '8','9' => '9','0' => '[0o]','_' => '_','#' => '#','%' => '[%x]','^' => '[^~]','(' => '[(]',')' => '[)]','=' => '=','.' => '[.]','-' => '-');

$name = strtr($name, $replace_word);



$query = mysql_query("SELECT * FROM tblname1 WHERE LOWER(name) REGEXP '[[:<:]]".$name."[[:>:]]'");

if (mysql_fetch_array($query)) {

return false;

}

return true;

}








All Articles