首页 > 其他分享 >允许用户通过账号、邮箱或手机号码登录的两种处理办法

允许用户通过账号、邮箱或手机号码登录的两种处理办法

时间:2024-06-05 15:12:59浏览次数:22  
标签:username 账号 phone 手机号码 邮箱 email

在HTML前端,登录页面通常允许用户通过账号、邮箱或手机号码登录。后端处理这种需求时,

1、使用这些正则表达式来检查用户输入:

function identifyInput(input) {
const usernameRegex = /[1]{3,}$/;
const emailRegex = /[2]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,6}$/;
const phoneNumberRegex = /^+?[1-9]\d{1,14}$/;

if (usernameRegex.test(input)) {
    console.log("输入的是账号");
} else if (emailRegex.test(input)) {
    console.log("输入的是邮箱");
} else if (phoneNumberRegex.test(input)) {
    console.log("输入的是手机号码");
} else {
    console.log("输入不符合账号、邮箱或手机号码的格式");
}

}

// 示例
identifyInput("username123"); // 输入的是账号
identifyInput("[email protected]"); // 输入的是邮箱
identifyInput("+1234567890"); // 输入的是手机号码

2、直接在数据库查询中,使用OR条件来同时检查账号、邮箱和手机号码字段。例如,

SELECT * FROM users WHERE (username = ? OR email = ? OR phone_number = ?) AND password = ?

在数据库中为username、email和phone_number字段建立索引,可以显著提高查询效率,尤其是当使用OR条件进行查询时。以下是一些常见数据库系统如何为这些字段建立索引的基本步骤:

MySQL
在MySQL中,你可以使用CREATE INDEX语句来为一个或多个列创建索引:

CREATE INDEX idx_username_email_phone ON users(username, email, phone_number);
这条语句会在users表上创建一个名为idx_username_email_phone的索引,它包含了username、email和phone_number三个字段。


  1. a-zA-Z0-9_ ↩︎

  2. a-zA-Z0-9._- ↩︎

标签:username,账号,phone,手机号码,邮箱,email
From: https://www.cnblogs.com/cnyjh/p/18233069

相关文章

  • 如何简单实现suno-api账号保活
    本文由ChatMoney团队出品简介之前的一个简易的项目suno-api。是使用cookie来获取suno-token发起请求的,之前写的简单,并没有做cookie保活,在运行一段时间后cookie会失效,api便失效了。那现在就来实现一个简单的账号保活。保活原理账号保活的实现原理比较简单,其实就是每隔一段时间......
  • SpringSecurity角色认证、数据库查询账号密码、退出
    在上一次我们实现了登录拦截,以及加密密码进行登录,这次我们要加上角色认证以及把加密后的账号密码放到数据库里进行查询然后登录,最后会有一个退出,退出之后就需要再次输入账号密码角色认证我们先在我们的config上面配置好我们的登录之后以及错误之后要去哪里,以及我们自己配置的......
  • 分享一个类似轮播图的账号切换效果
    看成品首先完成一个轮播图<style>*{box-sizing:border-box;}.box{display:flex;height:400px;overflow:auto;scroll-snap-type:xmandatory;/*横向滚动到一定程度,自动吸附反向上的下一个元素*/align-it......
  • 转 Win10 共享文件夹、打印机。 使用微软账户登录共享文件夹,如何确认账号密码。
    目的是通过该方法实现了局域网内 共享目录给电视盒子,放在电视盒子使用。感谢不爱吃山楂大佬https://zhuanlan.zhihu.com/p/446872571   Win10共享文件夹、打印机。使用微软账户登录共享文件夹,如何确认账号密码。......
  • uipath发送邮件到指定邮箱的功能如何设置?
    uipath发送邮件到指定邮箱的步骤?使用UiPath的方法?在自动化流程中,邮件发送是一个常见且重要的功能。UiPath作为领先的机器人流程自动化(RPA)工具,提供了强大的邮件自动化功能。AokSend将详细介绍如何在UiPath中设置发送邮件到指定邮箱的功能。uipath发送邮件:配置活动UiPath提供......
  • 漏洞复现1day(大量资产存在)方正畅享全媒体采编系统明文账号密码泄露
      0x01免责声明文章内容仅供日常学习使用,请勿非法测试,由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,由使用者承担全部法律及连带责任,作者及发布者不承担任何法律及连带责任。如有内容争议或侵权,我们会及时删除。0x02漏洞描述方正电子在传媒行业3......
  • Springboot配置文件中账号密码等敏感信息的加解密
    说明:使用过SpringBoot配置文件的朋友都知道,资源文件中的内容通常情况下是明文显示,安全性比较低。打开application.properties或application.yml,比如MySQL登录密码,Redis登录密码以及第三方的密钥等等一览无余。这里介绍一个加解密组件jasypt,用以提高配置文件中敏感配置数据的......
  • 如何使用navigator对象,手写一个正则表达式验证邮箱
    1:如何使用navigator对象navigator对象是JavaScript中的一个内置对象,用于获取浏览器和操作系统的信息。以下是一些常用的navigator属性和方法:navigator.userAgent:返回用户代理字符串,可以用于检测浏览器类型和版本。navigator.platform:返回操作系统平台。na......
  • uniapp 微信小程序 登录时 记住账号、密码
    登录时,记住账号和密码。点击radio取消,就取消账号密码记住radio点击checkedTap1(){ this.radioPactChecked=!this.radioPactChecked },点击登录login(){ if(this.radioPactChecked){ this.loading=true this.$H.post('/login',{ "username":th......
  • 国际版Tiktok抖音运营流量实战班:账号定位/作品发布/热门推送/等等-13节
    TikTok运营实战:从账号定位到发现上升趋势的全面指南这是一个快速了解TikTok运营的全面指南,无论你是新手还是想要提升你的TikTok战略的老手,这里都有你需要的信息。首先,我们要讲的是“TikTok账号定位”。这是你在TikTok成功的第一步,你需要明确你的目标受众,为他们提供他们感......