将手机号码格式化为国际格式 [英] Formatting a mobile number to international format

查看:107
本文介绍了将手机号码格式化为国际格式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

用户可以输入以下任一格式的电话号码:

A user can input a phone number in any of the following formats:

  1. 07xxxxxxxxx

00447xxxxxxxxx

447xxxxxxxxx

+447xxxxxxxxx

我需要帮助创建一个函数,该函数将采用上述任何格式的数字并将其返回为国际格式 +447xxxxxxxxx.

I need help in creating a function that will take the number in any of the formats above and return it as international format +447xxxxxxxxx.

这是我目前所拥有的

def _clean_mobile(mobile):

  import re
  if re.match('^+44', mobile):
       return mobile
  elif re.match('^44', mobile):
       return "+" + mobile

推荐答案

工作示例:http://ideone.com/ErL7Y4

def standardizePhoneNumber(mobile):
import re
    valid_prefixes = '[+447|447|00447|07]'
result = re.match('^' + valid_prefixes + '*([0-9]{9})$', mobile)
if result:
    return '+447' + result.group(1)
else:
    return None # invalid format

print standardizePhoneNumber('07111111111')
print standardizePhoneNumber('00447111111111')
print standardizePhoneNumber('447111111111')
print standardizePhoneNumber('+447111111111')
print standardizePhoneNumber('456789456')

这篇关于将手机号码格式化为国际格式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆