How to get mobile number within Meteor/Cordova app?

I would like to get mobile number of user in a way easiest and most reliable possible. There are some solutions on my mind;

  1. Like WhatsApp’s etc.; user himself enters his number on signup and verification code is sent to the number to validate the entered number.
  2. Using Cordova plug-ins like cordova-plugin-sim which reads device’s SIM data.
  3. Parsing HTTP requests from the Meteor/Cordova app to get device and SIM info (via UAProf or maybe via some other techniques by analyzing HTTP headers)

I hesitate to use solution-1 as most of the people are not able to enter their numbers in the international format correctly. Parsing, validating and correcting phone numbers is also a real burden.
I hesitate solution-2 as some say the app might be rejected by App Store. Some others also say it will not be perfectly reliable as some devices do not provide SIM info.
I am not sure and knowledgeable with the solution-3 if there is a real, reliable solution.

What do you suggest?