我有以下python代码用于验证电话号码。 现在,这个程序返回True或False。 当结果为False时,应为错误msgs,例如:
import phonenumbers
def is_valid(number,country):
try:
pn = phonenumbers.parse(number,country)
if phonenumbers.is_possible_number(pn) and phonenumbers.is_valid_number(pn):
return True
except:
return False
return False
def validNumber(phone_number,country):
try:
parsed = phonenumbers.format_number(phonenumbers.parse(phone_number,country),
phonenumbers.PhoneNumberFormat.INTERNATIONAL)
except:
parsed = str(None)
print(parsed)
return parsed
def main():
while True:
phone_number=input('Enter your telephone number: ')
country=input('Enter your country: ')
phone_number = phone_number.replace('+', '', 1)
parsed = validNumber(phone_number,country)
valid_value = is_valid(parsed,country)
if valid_value:
print('{} is a valid entry.'.format(phone_number))
break
else:
print('{} is a not valid entry, please try again.'.format(phone_number))
main()
您可以在每个验证函数中打印除块之外的错误消息。 比如说,
有关详细信息,请查看此链接:https://www.programcreek.com/python/example/104093/phonenumbers.NumberParseException
相关问题 更多 >
编程相关推荐