为了账号安全,请及时绑定邮箱和手机立即绑定

一个输入框能输入手机号和用户名来登录,如何判断用户输入的是手机号还是用户名?

一个输入框能输入手机号和用户名来登录,如何判断用户输入的是手机号还是用户名?

桃花长相依 2019-03-20 18:15:40
其实我主要是想知道美团这些app,登录页里一个输入框能输入手机号和用户名,是如何判断用户输入是的手机号还是用户名?如果用户1用手机号A通过手机号注册了一个账号。然后修改用户名为手机号B。但是手机号B是用户2的手机号,然后用户2用手机号B通过手机号也注册了一个账号。假设他们两个都用了相同的密码,那如何让用户1在登录页面输入手机号B时不能登录用户2的账号?
查看完整描述

7 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

一般而言,你所说的这种情况

如果用户1用手机号A通过手机号注册了一个账号。然后修改用户名为手机号B。
但是手机号B是用户2的手机号,然后用户2用手机号B通过手机号也注册了一个账号。

在实际的生产环境中是不可能也不允许发生的。

通常来说用户名是绝对不允许使用全数字的,尤其是在这种可以手机号码登陆的情况下
你就算是允许数字用户名,在修改用户名/手机号码注册的时候,也需要判断是否会出现重复的问题!!!


查看完整回答
反对 回复 2019-04-15
?
慕姐8265434

TA贡献1813条经验 获得超2个赞

一般规避情况

  • 一般的用户名,是不允许全数字类型的

  • 即使是允许全数字类型,除非密码是一样的,否则依然可以判定是谁。

具体判定

  • 对于前端的工作来说,大部分是建立联合正则来判定是否是符合手机|用户名规则|邮箱规则

  • 后台工程师来说,可以判定传来的类型,如你说的情况,使用两种类型,得到数组是两个用户,然后匹配密码,正确的则为登录用户


查看完整回答
反对 回复 2019-04-15
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

所以说 用户名不能是手机号格式。。。

如果允许是手机号格式,那么在修改用户名的时候 也需要在用户名、手机号、邮箱里面进行唯一性检查


查看完整回答
反对 回复 2019-04-15
?
慕森卡

TA贡献1806条经验 获得超8个赞

更改用户名的时候,前台客户端不允许 纯数字或者邮箱的格式出现就行。
就像你更改手机或者邮箱,肯定也会去进行验证格式是否正确。

查看完整回答
反对 回复 2019-04-15
?
智慧大石

TA贡献1946条经验 获得超3个赞

现在一般注册用户都是不能使用纯数字来注册的,基本都会要求首字符为字母或者用邮箱账号来注册.
这样的话就不存在问题了啊,就可以用正则表达式来匹配这是一个邮箱或者是一个手机号又或者是一个自己注册的用户名.


查看完整回答
反对 回复 2019-04-15
  • 7 回答
  • 0 关注
  • 7136 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号