华为 HarmonyOS NEXT 原生应用开发:【封装正则API】在原生鸿蒙中使用正则表达式校验登录注册模块(邮箱、密码、手机号)校验

2024年11月5日 LiuJinTao

文章目录

鸿蒙中正则的使用

1、封装API代码示例

用户名为邮箱校验, 密码就是密码校验 ,以下是一个简单的登录代码示例

ts 复制代码
● 这里封装成了一个 正则API 工具
/**
 * 手机号和密码的正则表达式 API
 * @param input : 用户输入的手机号或者密码或者用户名
 * @param type  : 调用者需要明确传入的是手机号 还是 密码 校验
 */

export function ValidateInputHandle(input: string, type: "phone" | "password" | "username"): boolean {
  switch(type) {
    case "phone":
      const phoneRegex = /^1[3-9]\d{9}$/
      return phoneRegex.test(input)
    case "password":
      const passwordRegex = /^(?=.*\d)(?=.*[a-zA-Z])[a-zA-Z\d]{6,20}$/
      return passwordRegex.test(input)
    case "username": 
      const usernameRegex = /^(?=.*[@#!])[a-zA-Z0-9_-@#!]{8,20}$/
      return usernameRegex.test(input)
    default :
      throw new Error("传入的参数有误!")
  }
}
  • 调用
ts 复制代码
 // 调用正则校验
 let result: boolean = ValidateInputHandle(this.phone, "phone")  // this.phone 需要获取传入
 let result: boolean = ValidateInputHandle(this.password, "password")
 let result: boolean = ValidateInputHandle(this.username, "username")

2、正则规则说明

  • 手机号说明
  • 密码说明
相关推荐
熊猫钓鱼>_>8 小时前
从闲置平板到家里的“控制大脑“:鸿蒙智慧中控面板完整实战
运维·人工智能·华为·自动化·电脑·ai编程·harmonyos
熊猫钓鱼>_>11 小时前
从2D平铺到3D沉浸:我用HarmonyOS 7端侧AI做了一个全程数据不出设备的空间化私密相册
前端·人工智能·3d·华为·华为云·harmonyos·鸿蒙
m0_7381858211 小时前
Flutter 鸿蒙化实战:foundation_fluttify 适配 OpenHarmony,Fluttify 桥接层
flutter·华为·harmonyos·鸿蒙
m0_7381858211 小时前
Flutter 鸿蒙化实战:http_proxy 适配 OpenHarmony,HTTP 代理
flutter·http·华为·harmonyos·鸿蒙
m0_7381858211 小时前
Flutter 鸿蒙化实战:headset_connection_event 适配 OpenHarmony,耳机插拔监听
flutter·华为·harmonyos·鸿蒙
李游Leo1 天前
HarmonyOS 7 DualCart 平行视界适配实录 04:EasyGo × 虚拟容器:商品比价双详情与分栏比例策略【鸿蒙心迹】
华为·harmonyos
李游Leo1 天前
HarmonyOS 7 PixelBridge 原生库适配实录 06:Release 性能基线、资源释放、包体积与工程化验收【鸿蒙心迹】
华为·harmonyos
传奇开心果编程1 天前
【ArkUI进阶练中学】第11课:安全与合规进阶
学习·ui·华为·harmonyos
databook1 天前
面向数据工程师的正则表达式:从日志清洗到字段提取
python·正则表达式·数据分析
熊猫钓鱼>_>1 天前
Kotlin Multiplatform for OpenHarmony 实战:为 Reaktive 实现响应式原语适配(完整版 · 含摘要目录与技术图表)
华为·kotlin·大模型·ai编程·harmonyos·适配·reaktive