Does anyone know a regular expression to validate MSISDN-format mobile numbers?
This should do -- I'm not sure how much more generic you can get:
/^[1-9][0-9]{10,14}$/
To check a number to belong to a particular country, modify the pattern to preface the country code, and then adjust the remaining digits to match:
/^(873[1-9][0-9]{7,11}|91[1-9][0-9]{8,12})$/ # India
/^46[1-9][0-9]{8,12}$/ # Sweden
/^[1-9][0-9]{10,14}$/
The shortest international phone number is only 7 digits long, e.g. +247 2468.
/^[1-9]\d{6,14}$/