提问人:WAEX 提问时间:7/25/2023 最后编辑:Wiktor StribiżewWAEX 更新时间:8/10/2023 访问量:202
AWS Cognito 电话号码正则表达式验证失败
aws cognito phone number regex validation faild
问:
通过控制台从 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'>
>>>
答:
0赞
Youcef LAIDANI
7/25/2023
#1
Cognito 说:
输入用户的电话号码,包括国家/地区代码。根据您的选择和用户池配置,电话号码不是必需属性。
您的电话号码中缺少国家/地区代码,您必须遵循 E.164 格式。例如,如果这是斯里兰卡的电话号码,则应写为 +9480570497,其中是斯里兰卡的国家/地区电话代码。94
0赞
Koynov
8/10/2023
#2
除了屏幕截图中的正则表达式之外,Cognito 似乎还在做更多的验证。例如,以 +80、+21、+259 等开头的数字。 看起来它不允许当前从此列表中取消分配的任何国家/地区代码 https://en.wikipedia.org/wiki/List_of_country_calling_codes
评论