التحقق والمطبات الصغيرة
تحققوا من السلاسل كاملة باستخدام المراسي، وتجنبوا التطابق الجشع الزائد، واستخدموا حدود الكلمات، وأضيفوا عمليات تحقق إضافية بسيطة، وانتبهوا إلى /g مع test()
التحقق والمطبات الصغيرة درس مجاني في JavaScript Academy على CoddyKit. هذا هو الدرس 3 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في JavaScript Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
التحقق من السلسلة كاملة
الهدف: التحقق بأمان ومن دون مفاجآت.
- استخدم ^ و$ لمطابقة السلسلة كاملة
- تجنّب المطابقة الجشعة الزائدة؛ واستخدم *? الكسول عند الحاجة
- استخدم حدود الكلمات \\b
- انتبه إلى /g مع test()

المراسي عمليًا
أضف ^ و$ حتى لا تمرّ التطابقات الجزئية.
// Validate 4–6 digits ONLY (no spaces, no letters)
function isPin(text) {
const re = /^\\d{4,6}$/;
return re.test(text);
}
console.log("1234 ->", isPin("1234"));
console.log("12 34 ->", isPin("12 34"));
console.log("a123 ->", isPin("a123"));

تجنّب المطابقة الزائدة
يلتقط .* الجشع أطول نطاق؛ أضف ? للحصول على أقصر تطابق بين العلامات.
// Greedy (.*) vs lazy (.*?)
const text = "say \"hi\" and \"bye\"";
// Greedy: eats too much
const g = text.match(/".*"/);
console.log("greedy:", g && g[0]);
// Lazy: shortest between quotes
const l = text.match(/".*?"/g);
console.log("lazy:", l);

حدود الكلمات \\b
يطابق \\b الحدود بين محارف الكلمات والمحارف غير التابعة للكلمات، وهو مفيد لمطابقة الكلمات الكاملة.
// Use \\b to match a whole word (not inside another)
const s = "restart start up";
console.log("has start word?", /\\bstart\\b/.test(s)); // true
console.log("matches restart?", /\\brestart\\b/.test(s)); // true
console.log("start inside restart?", /start/.test("restart")); // true (partial)

دمج عمليات التحقق بأمان
للمبتدئين: اقرن تعبيرًا نمطيًا صغيرًا بـعمليات تحقق إضافية مثل إزالة المسافات والتحقق من الحد الأقصى للطول. تجنّب الأنماط الضخمة.
// Small, beginner-friendly email-like check (not RFC-complete)
// Strategy: small regex + extra length checks
function isEmailLite(text) {
if (typeof text !== "string") return false;
if (text.length > 254) return false; // cap length
const re = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/; // basic shape
return re.test(text.trim());
}
console.log("ok:", isEmailLite("a@b.co"));
console.log("bad space:", isEmailLite("a @b.co"));
console.log("too basic:", isEmailLite("abc"));

مأخذ العلم العام
يحرّك العلم g مؤشرًا داخليًا عند استخدام test(). للحصول على قيم منطقية بسيطة عند فحص إدخالات منفصلة، تجنّب g.
// Using /g with test() changes lastIndex and can surprise you
const r = /a/g;
console.log("1st:", r.test("a")); // true
console.log("2nd:", r.test("a")); // false (cursor moved)
console.log("3rd:", r.test("a")); // true again
// Safer: avoid /g when repeatedly calling test() on separate strings
function hasA(text) {
return /a/.test(text); // no g flag
}
console.log("safe:", hasA("a"), hasA("a"));

اختبار المراسي للتحقق
تحقّق سريع: التحقق من السلسلة كاملة.

مراجعة
مراجعة: تحقّق من السلاسل الكاملة باستخدام ^...$، واستخدم *? الكسول لتجنّب المطابقة الزائدة، وأضف \\b لمطابقة الكلمات الكاملة، واقرن التعبيرات النمطية الصغيرة بعمليات تحقق إضافية بسيطة، وتجنّب /g مع الاستدعاءات المتكررة لـtest().

الأسئلة الشائعة
هل درس «التحقق والمطبات الصغيرة» مجاني؟
نعم — نص درس «التحقق والمطبات الصغيرة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة JavaScript Academy، انتقل إلى CoddyKit PRO. تتضمن دورة JavaScript Academy 3 دروس في المجموع.
ماذا ستتعلم في «التحقق والمطبات الصغيرة»؟
تحققوا من السلاسل كاملة باستخدام المراسي، وتجنبوا التطابق الجشع الزائد، واستخدموا حدود الكلمات، وأضيفوا عمليات تحقق إضافية بسيطة، وانتبهوا إلى /g مع test() تتمرن على JavaScript Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ JavaScript Academy؟
لا تُشترط خبرة سابقة. JavaScript Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 3 من أصل 3.
كم من الوقت يستغرق درس «التحقق والمطبات الصغيرة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس JavaScript Academy هذا؟
نعم. كل درس في JavaScript Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- أساسيات Regex — القيم الحرفية وtest والمراسي والأعلام
- المجموعات والالتقاط والاستبدال
- التحقق والمطبات الصغيرة