现场采用短信猫的进行短信认证,可正常弹出短信认证页面,但是收入手机号后,获取短信时,会提出“手机号码格式不正确”
现场平台及组件版本:
PLAT E0303
EIA R0302
在手机连入ssid后,弹出页面,输入手机号,获取短信验证密码时,提示获取手机号码格式不正确。
- 手机号码获取方式:系统提供了三种获取发送手机号码的方式:
(1)电话号码:获取用户注册时填写的电话号码,作为发送短信的号码。
(2)帐号名:获取用户的帐号名,如果帐号名符合电话号码规范,作为发送短信的号码。
(3)电话号码与帐号名:优先取用平台用户的“电话”为短信号码,平台用户电话的限制为:数字、“(”、“)”、“+”、“-”和空格,取用时将保持原值,不会处理其中的特殊字符。如果平台用户没有“电话”,则再尝试取值UAM接入帐号名,有平台用户电话一样的限制:数字、“(”、“)”、“+”、“-”和空格。若平台用户无电话,接入帐号名也不符合要求,则不发短信。
- 手机号码格式限制:只有符合此格式的字符串,才视为有效手机号码。请按照Java正则表达式设置该值,表达式限制在128个字符以内。举例:^1[358][0-9]{9}$ 表达的格式要求是:以13或15或18开头的11位数字串
在弹出的短信认证页面时,输入11位手机号,该手机号在平台用户中并没有电话,但是存在有UAM接入账户名;现场当时所选的手机号码获取方式为“电话号码”,在平台用户中并没有这个电话,所以终端输入手机号码后获取短信时会提示“手机号码获取方式选择错误”。
将手机号码获取方式改为“电话号码与账户名”,更改收,使用手机号重新进行获取短信,可正常获取到。
且一般推荐电话号码与账户名这种方式,不容易出错。
该方案前提是保证手机可以正常跳转出获取短信认证的界面,且其他配置信息无误。
在EIA 0302版本中,该短信功能设置在用户->接入策略管理->业务参数配置->系统设置->短信功能配置;
在EIA 新版本中,上述短信功能配置移动到了:用户->接入用户管理->消息下发->短信通知->右上角短信功能设置。
建议短信功能设置时将手机号码获取方式设置为“电话号码与账户名”。