hey
With the two sentences:
1. I would have called John if I'd had my phone with me
2. I might have called John if I'd had my phone with me
They are both saying that I didn't call John. But 'Would have' is used to say if I'd had my phone, calling the John would be a certainty.
'Might have' is used to say that calling John was a possible action. We don't know for sure if in that situation I would have called him or not.
So use 'would have' with certainty, and 'might have' if there is doubt.
Hope this helps
Jack