يوجد مثل هذا الجزء من التعليمات البرمجية: نتيجة if (RegExp.test(num)) تكون TRUE في كل مرة في IE، ولكن في Fire Fox، إذا كانت True في المرة الأولى، فيجب أن تكون False في المرة الثانية، وتظهر بالتناوب بعد ذلك. دعونا نلقي نظرة على بعض الحلول السابقة: الطريقة الأولى: تغيير if (RegExp.test(num)) إلى if (num.match(RegExp)) لا أعرف ما إذا كان قد تم التحقق منها على أي حال، لقد حاولت وفشلت في تحقيق تأثير التوافق. في الواقع، المشكلة الأساسية ليست في تحديد الكائن العادي الذي يجب استخدامه، ولكن في التعبير "g". تأثير في Firefox غير متوافق مع IE. يعامل Firefox RegExp كمتغير عام، لذا فإن الطريقة الأبسط والأكثر فعالية هي تغيير var RegExp=/^(-)?[0-9]*$/g إلى var RegExp=/^(-)?[0-9]*$/ ، الحل الجيد لا يهتم بالتعقيد، لكن هذا الموقف ليس شائعًا على الإطلاق. الدالة هيرقم(رقم){ var RegExp=/^(-)?[0-9]*$/g;
الطريقة الثانية: استخدام معالجة كائن RegExp، أي RegExp("^(-)?[0-9]*$") الجديد
إذا (عدد الطول==0){
عودة كاذبة.
}
إذا (RegExp.test(num)){
عودة صحيحة؛
}آخر{
عودة كاذبة.
}
}