الانتقال إلى المحتوى الرئيسي

كيفية إجراء فحص إدخال الأحرف في ج: نصائح مفيدة وأمثلة التعليمات البرمجية

  • المهندس فخر الدّين المرازيق
  • المدونة

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

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

# تشمل

يمكنك أيضا استخدام عوامل تشغيل الحالة للتحقق من الأحرف. على سبيل المثال ، للتحقق مما إذا كان الحرف حرفا كبيرا ، يمكنك استخدام الكود التالي:

إذا (الفصل > = ' أ '& & الفصل < = 'ض')

{

// يتم تنفيذ الكود إذا كان الشرط صحيحا

}

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

  1. ما هو الاختيار إدخال حرف في ج?
  2. نصائح مفيدة
  3. استخدم وظيفة إيسلافا للتحقق من الأحرف
  4. تجنب استخدام وظيفة جيتشار
  5. أمثلة التعليمات البرمجية
  6. مثال على التحقق من إدخال رقم
  7. مثال على التحقق من إدخال الرسالة
  8. تقنيات التحقق من الشخصية
  9. استخدام حلقة للتحقق من كل حرف
  10. باستخدام الكتابة المقطعية.مكتبة ح
  11. سؤال وجواب
  12. كيف يمكنني التحقق من أن المستخدم يدخل الأرقام فقط في ج?
  13. كيف يمكنني مقاطعة البرنامج إذا قام المستخدم بإدخال أحرف غير صحيحة?
  14. هل من الممكن استخدام إسديجيت () وظيفة للتحقق من المدخلات من الأرقام الحقيقية?
  15. كيف يمكنني التحقق من أن المستخدم قد أدخل الحروف فقط في ج?
  16. هل من الممكن التحقق من إدخال المستخدم للأحرف الخاصة في ج?
  17. كيف يمكنني قراءة حرف دخلت من قبل المستخدم باستخدام جيتشار () وظيفة?

ما هو الاختيار إدخال حرف في ج?

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

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

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

من الممكن أيضا استخدام التعبيرات العادية لفحص إدخال الأحرف الأكثر تعقيدا. التعبيرات العادية هي أنماط تحدد الأحرف المسموح بها في إدخال البيانات. يمكن استخدامها لتحديد متطلبات تنسيق بيانات الإدخال ، على سبيل المثال ، للتحقق من التنسيق الصحيح لبريد إلكتروني أو رقم هاتف.

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

في الأقسام التالية من المقالة ، سنلقي نظرة على العديد من أمثلة التعليمات البرمجية التي توضح طرقا مختلفة للتحقق من إدخال الأحرف.

نصائح مفيدة

عند إجراء التحقق من صحة إدخال الأحرف في لغة البرمجة سي ، من المفيد مراعاة النقاط التالية:

  • يستخدم للتحقق مما إذا كان الحرف هو رقم. استخدم هذه الوظائف للتحقق من المدخلات بشكل أكثر موثوقية.
  • تقييد الأحرف المسموح بها: إذا كنت بحاجة إلى السماح فقط بمجموعة معينة من الأحرف ، فيمكنك استخدام عوامل التشغيل الشرطية ومقارنة الإدخال بهذه المجموعة من الأحرف. على سبيل المثال ، يمكنك التحقق مما إذا كان الحرف التمهيدي موجودا في السلسلة "أبكديفجيكلمنوبكريستوفوكسيز". إذا لم يكن كذلك ، فإن الرمز غير صالح.
  • للتحقق من كل حرف حتى يتم الوصول إلى نهاية السلسلة.

تذكر أن الاختيار السليم لإدخال الأحرف في ج يمكن تحديد أمن وموثوقية البرنامج. كن حذرا عند كتابة التعليمات البرمجية وتحقق من المدخلات مع مراعاة جميع الحالات الممكنة.

استخدم وظيفة إيسلافا للتحقق من الأحرف

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

وظيفة إيسالفا هي جزء من مكتبة كتيب.ح ويسمح لك بتحديد ما إذا كانت الوسيطة التي تم تمريرها هي حرف من الأبجدية.

النموذج الأولي للوظيفة هو كما يلي:

كثافة العملياتإيسالفا (كثافة العمليات ج)

أين ج هو الحرف المراد التحقق منه.

تقوم الدالة بإرجاع قيمة غير صفرية إذا كان الحرف الذي تم تمريره هو حرف من الأبجدية (أ-ي أو أ-ي) ، وإلا يتم إرجاع الصفر.

مثال على استخدام الوظيفة:

"'ج

# تشمل

# تشمل

كثافة العمليات الرئيسية () {

رمز شار;

برينتف ("أدخل الحرف:");

المسح الضوئي ("٪ج " ، والرمز);

إذا (إيسالفا (رمز)) {

برينتف ("الحرف الذي تم إدخاله هو حرف.

«);

} آخر {

برينتف ("الحرف الذي تم إدخاله ليس حرفا.

«);

}

العودة 0;

}

«`

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

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

تجنب استخدام وظيفة جيتشار

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

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

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

أمثلة التعليمات البرمجية

فيما يلي بعض أمثلة التعليمات البرمجية ج التي توضح طرقا مختلفة للتحقق من إدخال الأحرف:

  1. ");
  2. تتحقق دالة إيسالنوم مما إذا كان الحرف عبارة عن حرف أبجدي أو رقم عشري. يتحقق المثال التالي مما إذا كان المستخدم يدخل حرفا أو رقما:
  3. آخر

سكانف ("٪ج " ، & الفصل);

برينتف(" لقد أدخلت حرفا صغيرا.

");

آخر

برينتف ("لم تقم بإدخال حرف صغير.

");

العودة 0;

باستخدام وظيفة إيسوبر:

يتحقق الدالة إيسوبر ما إذا كان الحرف هو حرف كبير. يتحقق المثال التالي مما إذا كان المستخدم يدخل حرفا كبيرا:

# تشمل

# تشمل

كثافة العمليات الرئيسية()

{

شار الفصل;

برينتف ("أدخل حرف:");

سكانف ("٪ج " ، & الفصل);

  1. إذا (إيسوبر (الفصل))

برينتف(" لقد أدخلت حرفا كبيرا.

");
آخر
برينتف ("لقد أدخلت حرفا غير كبير.
");
العودة 0;

}

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

مثال على التحقق من إدخال رقم

في لغة البرمجة ج ، للتحقق مما إذا كان قد تم إدخال رقم من قبل المستخدم ، يمكنك استخدام الوظيفة

إسديجيت

من عند

الكتابة المقطعية.مكتبة ح

. تقوم هذه الدالة بإرجاع قيمة غير صفرية إذا كان الحرف الذي تم تمريره إليه رقما ، وصفر إذا لم يكن الحرف رقما.

في ما يلي مثال على الكود الذي يتحقق من إدخال الأرقام ويخرج رسالة بناء على نتائج الفحص:

# تشمل

# تشمل

كثافة العمليات الرئيسية () {

رمز شار;

برينتف ("أدخل الرمز:");

المسح الضوئي ("٪ج " ، والرمز);

إذا(إسديجيت (رمز)) {

برينتف ("لقد أدخلت رقما.

");

} آخر {

برينتف ("لم تدخل رقما.

");

}

العودة 0;

}

في هذا المثال ، يطلب البرنامج أولا من المستخدم إدخال حرف. ثم تستخدم الوظيفة

إسديجيت

للتحقق مما إذا كان الحرف هو رقم. إذا كان الرمز رقما ، فسيعرض البرنامج الرسالة"لقد أدخلت رقما". إذا لم يكن الحرف رقما ، فسيعرض البرنامج الرسالة " لم تدخل رقما."

مثال على التحقق من إدخال الرسالة

إذا كنت بحاجة إلى التحقق مما إذا كان قد تم إدخال حرف ، يمكنك استخدام وظيفة إيسالفا() جنبا إلى جنب مع وظيفة جيتشار ().

فيما يلي مثال على الرمز الذي يسمح لك بالتحقق مما إذا كان الحرف الذي تم إدخاله عبارة عن حرف:

  • # تشمل
  • # تشمل
  • كثافة العمليات الرئيسية () {
  • شار ج;
  • برينتف ("أدخل حرف:");
  • ج = جيتشار();
  • إذا (إيسالفا (ج)) {

برينتف ("لقد أدخلت رسالة.

");

} آخر {

برينتف ("لم تدخل حرفا.

");

}

العودة 0;

}

في هذا المثال ، يطلب البرنامج حرف من المستخدم باستخدام وظيفة جيتشار (). ثم يتحقق ما إذا كان هذا الحرف هو حرف باستخدام وظيفة إيسالفا (). إذا كان الرمز عبارة عن حرف ، فسيعرض البرنامج الرسالة"لقد أدخلت حرفا". خلاف ذلك ، يعرض البرنامج الرسالة "لقد أدخلت الحرف الخطأ".

تقنيات التحقق من الشخصية

التحقق من الأحرف في لغة البرمجة ج مهمة هامة لضمان سلامة وصحة البرنامج. يتم وصف بعض تقنيات التحقق من الأحرف الشائعة أدناه.

التحقق من وجود قيمة رقمية: أحد الأساليب الأكثر شيوعا للتحقق من الأحرف هو التحقق من وجود قيمة رقمية. هذا يتأكد من أن المستخدم يدخل الأرقام فقط. إذا تم إدخال أحرف أخرى ، يمكن للبرنامج عرض رسالة خطأ وطلب إعادة الدخول.

التحقق من وجود أحرف صالحة: هناك أسلوب شائع آخر وهو التحقق من وجود أحرف صالحة. هذا يتأكد من أن المستخدم يدخل فقط الأحرف الصالحة في سياق البرنامج. إذا تم إدخال أحرف غير صالحة ، يمكن للبرنامج عرض رسالة خطأ وطلب إعادة الدخول.

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

استخدام التعبيرات العادية: التعبيرات العادية هي أداة قوية للتحقق من الأحرف. إنها تسمح لك بتعيين قالب ، يجب أن يكون لمراسلاته قيمة إدخال. يمكن للبرنامج التحقق من المدخلات للامتثال للتعبير العادي وإصدار رسالة خطأ إذا كان هناك تناقض.

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

مثال على جدول الرموز والتعبيرات العادية المقابلة لها

الرمز

التعبير العادي

أرقام

\ د

رسالة

[أ-ز-ز]

حرف أو رقم

[أ-ز-ز 0-9]

حرف كبير

[من الألف إلى الياء]

حرف صغير

[من الألف إلى الياء]

مسافة بيضاء

\ ق

ستساعدك التقنيات المذكورة أعلاه على ضمان سلامة وصحة إدخال الأحرف في برامج سي الخاصة بك. سيؤدي استخدام طرق التحقق المناسبة إلى منع العديد من المشكلات الناشئة عن إدخال البيانات بشكل غير صحيح.

استخدام حلقة للتحقق من كل حرف

يمكنك استخدام حلقة للتحقق من كل حرف من سلسلة الإدخال. باستخدام حلقة ، يمكنك تكرار من خلال كل حرف في سلسلة والتحقق من ذلك للامتثال للشروط المحددة. هنا مثال على استخدام حلقة للتحقق من كل حرف:

# تشمل

# تشمل