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. Mari kita lihat beberapa solusi sebelumnya: Metode 1: Ubah if (RegExp.test(num)) menjadi if (num.match(RegExp)) Saya tidak tahu apakah mereka telah diverifikasi. Bagaimanapun, saya telah mencoba dan gagal mencapai efek kompatibilitas. Faktanya, masalah paling mendasar bukanlah objek biasa yang digunakan, tetapi "g" dalam ekspresi yang menyebabkannya efek di Firefox menjadi tidak konsisten dengan IE. Firefox memperlakukan RegExp sebagai variabel global, jadi cara paling sederhana dan efektif adalah mengubah var RegExp=/^(-)?[0-9]*$/g menjadi var RegExp=/^(-)?[0-9]*$/ , solusi yang baik tidak peduli dengan kompleksitas, tetapi solusi yang tepat Situasi ini tidak umum. fungsi isNum(num){ var RegExp=/^(-)?[0-9]*$/g;
Metode 2: Gunakan pemrosesan objek RegExp, yaitu new RegExp("^(-)?[0-9]*$")
if(angka.panjang==0){
kembali salah;
}
if (RegExp.test(angka)){
kembali benar;
}kalau tidak{
kembali salah;
}
}