u010628509
2015-07-20 03:48 阅读 7.0k
已采纳

淘宝那个账号可以是用户名、手机号、邮箱的登陆是如何实现的?

在不清楚这种登陆的账号是否存在时,是否要分别去验证有没有存在用户名或手机号或邮箱账号?又是如何实现的呢。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

7条回答 默认 最新

  • 已采纳
    tongyi55555 JonsonJiao 2015-07-20 11:54

    我觉得是用户信息中有三个字段分别存储电话号码、用户名和邮箱,然后登陆的时候一个一个去匹配,有一个匹配上就终止。真正实现起来估计还是要做一些判断的,比如纯数字的就没有必要验证有邮箱的了。

    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 2015-07-20 15:15

    正则表达式判断下,手机号是11位数字,邮箱包含@,除此之外,在数据库的用户名中判断

    点赞 3 评论 复制链接分享
  • xs_442 xs_442 2015-07-20 07:27

    这个有多重处理方式,一种是根据输入的用户名首先判断是哪类用户,二种是分别匹配数据库中的电话号码、用户名、邮箱

    点赞 1 评论 复制链接分享
  • yuke198907 yuke198907 2015-07-20 03:52

    第一种方法可以验证输入帐号类型,如果是字母+数字的那就是用户名,如果为纯数字的则为手机号,如果包含@符号的,则为邮箱等。
    第二种方法那就是分别验证了。

    点赞 评论 复制链接分享
  • u014294325 Amy安 2015-07-20 07:54

    有多种方式可以实现
    可以如上所说判断输入的是哪类
    也可以多项都验证 可空 只要匹配了用户名邮箱电话中的一项就可以

    点赞 评论 复制链接分享
  • zuishikonghuan zuishikonghuan 2015-07-20 15:06

    比方说,都存储一份,然后没次从数据库中查找,当然可以优化的了,先判断是用户名还是邮箱还是手机,然后逐步缩小搜索范围(甚至这些工作可以在客户端用前端脚本完成)然后服务器不就省事了。。

    点赞 评论 复制链接分享
  • notfindjob notfindjob 2015-07-25 10:24

    输入校验:全数字11位、数字+字母、数字字母中间+@

    点赞 评论 复制链接分享

相关推荐