Кто-нибудь знает регулярное выражение для проверки мобильных номеров в формате MSISDN? - PullRequest
6 голосов
/ 26 января 2011

Кто-нибудь знает регулярное выражение для проверки мобильных номеров в формате MSISDN?

Я искал решение, опубликованное по адресу http://charlvn.blogspot.com/2010/06/msisdn-regular-expressions.html, но думаю, что это не общее решение.

Я ищу регулярное выражение проверки, которое могло бы проверить любой мобильный номер стандарта MSISDN.http://en.wikipedia.org/wiki/MSISDN

Во-вторых, я ищу способ проверить, является ли действительный номер мобильного MSISDN из определенной страны, например, «31628000000» - это номер из Нидерландов, поскольку он начинается с номера сети ».31 ".

Я собираюсь реализовать проверочную часть в Python.

Заранее спасибо!

Ответы [ 2 ]

11 голосов
/ 26 января 2011

Это должно сработать - я не уверен, насколько более универсальным вы можете стать:

/^[1-9][0-9]{10,14}$/

Чтобы проверить число, принадлежащее определенной стране, измените шаблон, чтобы предисловие к коду страныи затем отрегулируйте оставшиеся цифры в соответствии:

/^(873[1-9][0-9]{7,11}|91[1-9][0-9]{8,12})$/    #  India
/^46[1-9][0-9]{8,12}$/                          # Sweden
3 голосов
/ 09 ноября 2012
  /^[1-9][0-9]{10,14}$/

Самый короткий международный телефонный номер имеет длину 7 цифр, например, +247 2468.

  /^[1-9]\d{6,14}$/
...