Ada potongan kode seperti itu: hasil if (RegExp.test(num)) selalu TRUE di IE, tetapi di Fire Fox, jika True pertama kali, harus False kedua kalinya, dan muncul secara bergantian setelahnya. Lihatlah solusi sebelumnya:
Metode 1: Ubah if (RegExp.test(num)) menjadi if (num.match(RegExp))
Metode 2: Gunakan pemrosesan objek RegExp, yaitu new RegExp("^(-)?[0-9]*$").
Saya tidak tahu apakah sudah diverifikasi tidak dapat mencapai efek kompatibilitas. Faktanya, masalah mendasar terakhir bukanlah objek biasa mana yang digunakan, tetapi "g" dalam ekspresi menyebabkan efek di Firefox tidak konsisten dengan IE. Firefox memperlakukan RegExp sebagai global variabel, jadi cara paling sederhana dan efektif adalah dengan menggunakan var RegExp =/^(-)?[0-9]*$/g Ubah ke var RegExp=/^(-)?[0-9]*$ /, solusi yang baik tidak mempedulikan kompleksitas, tetapi solusi yang tepat, jadi bagaimanapun juga, situasinya tidak umum.
fungsi isNum(num){
if(angka.panjang==0){
kembali salah;
}
var RegExp=/^(-)?[0-9]*$/g;
if (RegExp.test(angka)){
kembali benar;
}kalau tidak{
kembali salah;
}
}