华为 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、正则规则说明

  • 手机号说明
  • 密码说明
相关推荐
autumn200528 分钟前
Flutter 框架跨平台鸿蒙开发 - 虚拟纪念馆
flutter·华为·harmonyos
2301_822703201 小时前
渐变壁纸生成:基于鸿蒙Flutter的跨平台壁纸创建工具
flutter·华为·harmonyos·鸿蒙
人间打气筒(Ada)2 小时前
「码动四季·开源同行」HarmonyOS应用开发:常见组件
华为·开源·harmonyos·组件·布局·鸿蒙开发
三声三视2 小时前
ArkTS 自定义组件完全指南:@Builder、@Extend、@Styles 实战解析
华为·harmonyos
Utopia^4 小时前
Flutter 框架跨平台鸿蒙开发 - 旅行预算管家
flutter·华为·harmonyos
李李李勃谦5 小时前
Flutter 框架跨平台鸿蒙开发 - 星空识别助手
flutter·华为·harmonyos
李李李勃谦5 小时前
Flutter 框架跨平台鸿蒙开发 - 本地生活服务预约
flutter·华为·生活·harmonyos
我的世界洛天依5 小时前
胡桃讲编程:早期华为手机(比如畅享等)可以升级鸿蒙吗?
华为·harmonyos
2301_822703205 小时前
开源鸿蒙跨平台Flutter开发:幼儿疫苗全生命周期追踪系统:基于 Flutter 的免疫接种档案与状态机设计
算法·flutter·华为·开源·harmonyos·鸿蒙
2301_822703206 小时前
鸿蒙flutter三方库实战——教育与学习平台:Flutter Markdown
学习·算法·flutter·华为·harmonyos·鸿蒙