Israel on Saturday said it launched a "preventative attack" on Iran as explosions were reported in Tehran amid escalating tensions between the two countries.