السلام عليكم و رحمة الله و بركاته
قمت بكتابة دالة لتلتحقق من وجود حروف أو رموز ممنوعة في إسم المستخدم
أريد رأيكم في الدالة . و هل هي سليمة 100%
كما هو واضح في الكود فالدالة تقوم بمقارنة الحروف المكونة للاسم واحدا واحدا مع الحروف الموجودة في المتغير $charsكود PHP:
function usr_string($usr)
{
$chars = "aAb8Bc C9-dD0e1EfFgGh2HiIjJk3K7l_LmMnNoOpPqQrRs4StTuU6vVwWx5XyYzZ";
for($i=0;$i<= strlen($usr)-1;$i++){
if (ereg(substr($usr, $i, 1),$chars)){
$usr_string .="";
} else{
$usr_string .="1";
}}
if($usr_string == ""){
return false;
}else{
return true;
}
}
و تستخدم هكدا
كود PHP:
if(usr_string($user)){
echo "خطأ";
}
لدي فكرة أخرة لبرمجة شرط يؤدي نفس الوضيفة و أريد رايكم به
الشرط يقوم باستبدال حروف المصفوفة في اسم المستخدم بلاشيئكود PHP:
$chars = array("a", "A", "b", "8", "B", "c", " ", "C", "9", "-", "d", "D", "0", "e", "1", "E", "f", "F", "g", "G", "h", "2", "H", "i", "I", "j", "J", "k", "3", "K", "7", "l", "_", "L", "m", "M", "n", "N", "o", "O", "p", "P", "q", "Q", "r", "R", "s", "4", "S", "t", "T", "u", "U", "6", "v", "V", "w", "W", "x", "5", "X", "y", "Y", "z", "Z",);
if(str_replace($chars,"",$usr) != ""){
echo "خطأ";
}
و ادا كانت النتيجة تساوي شيئ فان الشرط يكتب خطأ
السؤال : أي الطريقتين أفضل . و هل توجد طريقة اخرى أفضل؟؟
سلام