aws cognito 电话号码正则表达式验证失败

问题描述 投票:0回答:2

通过控制台从 aws 创建用户时。他们按照下面的屏幕截图使用了下面的正则表达式验证模式。

正则表达式模式

"^\+[1-9][0-9]{0,24}$"

但是当我用 python 尝试这个手机号码时,它是匹配的。但在控制台或api中它给出了一个名为无效手机号码的错误

样本手机号码+80570497

python脚本

>>> re.match(r"^\+[1-9][0-9]{0,24}$", "+80570497")
<re.Match object; span=(0, 9), match='+80570497'>
>>> 

python amazon-web-services amazon-cognito phone-number
2个回答
0
投票

Cognito 说:

输入用户的电话号码,包括国家/地区代码。根据您的选择和用户池配置,电话号码不是必需属性。

您的电话号码中缺少国家/地区代码,您必须遵循 E.164 格式。例如,如果这是斯里兰卡的电话号码,则应写为 +9480570497,其中

94
是斯里兰卡的国家电话代码。


0
投票

除了屏幕截图中的正则表达式之外,Cognito 似乎还进行了更多验证。例如以 +80、+21、+259 等开头的数字。 看起来它不允许任何当前未从此列表中分配的国家/地区代码https://en.wikipedia.org/wiki/List_of_country_calling_codes

© www.soinside.com 2019 - 2024. All rights reserved.