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

لماذا تعمل وظيفة الاستبدال في JavaScript على تقييد عمليات الاستبدال في المثيل الأول فقط؟

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

Why Does JavaScript\'s Replace Function Limit Replacements to the First Instance Only?

لماذا تستبدل وظيفة الاستبدال في Javascript المثيل الأول فقط

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

فهم سلوك استبدال()

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

مثال: تعيين علامة g

فكر في المثال الواردة في السؤال:

var date = $('#Date').val(); // Gets value "12/31/2009"
var id = 'c_'   date.replace("/", ''); // Replaces only the first "/", resulting in "c_1231/2009"

لاستبدال كافة مثيلات الشرطة المائلة للأمام (/)، استخدم علامة g:

var id = 'c_'   date.replace(new RegExp("/", "g"), ''); // Replaces all "/" with "", resulting in "c_12312009"

بدلاً من ذلك، يمكنك استخدام بناء جملة أبسط:

var id = 'c_'   date.replace(/\//g, ''); // Equivalent to the previous line

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

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

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

Copyright© 2022 湘ICP备2022001581号-3