البرمجة

فحص صحة اسم المستخدم بدون Regex: تأكيد الأحرف الأبجدية والأرقام

في الكود الذي قدمته، يتم تنفيذ وظيفة isUser بغرض التحقق من صحة اسم المستخدم الذي يتم إرساله كمعامل إلى الوظيفة. الهدف هو التحقق من أن اسم المستخدم يتكون فقط من أحرف أبجدية وأرقام، ويتم استخدام الرموز ASCII لتحقيق ذلك.

يقوم الكود بتكرار الحروف في اسم المستخدم وفحص تركيب كل حرف. إذا كان الحرف حرفًا أبجديًا صحيحًا (أي ينتمي إلى A-Z أو a-z)، يتم تجاوز هذا الفحص. ثم يتم التحقق مما إذا كان الحرف رقمًا صحيحًا (أي ينتمي إلى 0-9)، وإذا كان كذلك، يتم تجاوز هذا الفحص أيضًا. في النهاية، يتم التحقق مما إذا كان الحرف ينتمي إلى الفئتين السابقتين (أي حرف أبجدي أو رقم)، وإذا كان الحرف خارج هذه الفئتين، يُطلق إنذار يُفيد أن اسم المستخدم غير صالح.

ومع ذلك، هناك بعض النقاط التي يمكن تحسينها في الكود. على سبيل المثال، تظهر نقطة عدم وضوح في الشرط الثالث، حيث يتم استخدام true ==، وهو غير ضروري. كما يمكن تحسين هيكل الشروط لتجنب التكرار غير الضروري. يمكن أيضًا تحسين التنسيق وتوضيح الشيفرة لجعلها أكثر قراءة وفهمًا.

لتحسين الكود، يمكنك مراجعة النموذج التالي:

javascript
function isUser(username) { for (var j = 0; j < username.length; j++) { var charCode = username.charCodeAt(j); if (!((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122) || (charCode >= 48 && charCode <= 57))) { alert("Your Alpha Numeric Test Failed"); return false; } } alert("Your Alpha Numeric Test Passed"); return true; }

هذا النموذج يقوم بنفس الوظيفة، ولكنه أكثر وضوحًا وتنظيمًا.

المزيد من المعلومات

في الكود البرمجي الذي تم تقديمه، يتم إنشاء وظيفة باسم isUser التي تقوم بفحص صحة اسم المستخدم الذي يتم إرساله إليها كوسيط. الهدف من هذا الفحص هو التحقق من أن اسم المستخدم يتكون فقط من أحرف أبجدية وأرقام، دون استخدام تعابير النمط النمطية (Regex).

يتم ذلك عن طريق تحليل كل حرف في اسم المستخدم باستخدام رمز ASCII الخاص به، حيث يتم تحويل كل حرف إلى رمزه الخاص. يتم بعد ذلك فحص ما إذا كان الحرف ينتمي إلى الأحرف الأبجدية (A-Z أو a-z)، أو إلى الأرقام (0-9). إذا كان الحرف لا ينتمي إلى أيٍ من هذين الفئتين، يتم عرض إنذار يُشير إلى أن اسم المستخدم غير صالح.

الكود يعتبر الحروف الكبيرة والصغيرة في الأبجدية متماثلة، وكذلك الأرقام. وعند تحقق أن الحرف ليس حرفًا ولا رقمًا، يظهر إنذار بأن اختبار الحروف الأبجدية والأرقام قد فشل.

من النواحي التقنية، يمكن تحسين الكود من خلال إزالة التعقيدات غير الضرورية، وتبسيط الشروط، وتحسين التنسيق لجعله أكثر قراءة وصيانة.

زر الذهاب إلى الأعلى