"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا تقوم طريقة الاستبدال الخاصة بـ JavaScript باستبدال المثيل الأول فقط؟

لماذا تقوم طريقة الاستبدال الخاصة بـ JavaScript باستبدال المثيل الأول فقط؟

تم النشر بتاريخ 2024-11-04
تصفح:504

Why Does JavaScript\'s Replace Method Only Replace the First Instance?

لماذا يستبدل استبدال JavaScript المثيل الأول فقط: استكشاف علامة RegExp

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

الاستبدال الشامل: علامة RegExp

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

على سبيل المثال، في التعليمات البرمجية الخاصة بك:

var date = $('#Date').val(); // e.g., "12/31/2009"
var id = 'c_'   date.replace("/", ''); // c_1231/2009 (wrong)

لاستبدال كافة تكرارات الحرف "/"، تحتاج إلى تحديد العلامة "الشاملة":

var id = 'c_'   date.replace(new RegExp("/", "g"), ''); // c_12312009 (correct)

بدلاً من ذلك، يمكنك استخدام الصيغة الأقصر:

var id = 'c_'   date.replace(/\//g, ''); // c_12312009 (correct)

من خلال تحديد العلامة "الشاملة"، ستستبدل طريقة الاستبدال كل حرف شرطة مائلة في سلسلة التاريخ، مما يؤدي إلى الإخراج الصحيح.

بيان الافراج أعيد طبع هذه المقالة على: 1729641136 في حالة وجود أي انتهاك، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3