What about this ?
/^(?:(?:\+|00)33[\s.-]{0,3}|0)[1-9](?:[\s.-]?\d{2}){4}$/
If you want to include French Overseas territory (Outre-mer), try this :
/^(?:(?:(?:\+|00)33[\s.-]{0,3}|0)[1-9]|(?:\+|0)(?:508|594|590|596|681|687|689))(?:[\s.-]?\d{2}){4}$/