华为 HarmonyOS NEXT 原生应用开发:【封装正则API】在原生鸿蒙中使用正则表达式校验登录注册模块(邮箱、密码、手机号)校验
2024年11月5日 LiuJinTao
文章目录
- 鸿蒙中正则的使用
- 1、封装API代码示例
- 2、正则规则说明
鸿蒙中正则的使用
1、封装API代码示例
用户名为邮箱校验, 密码就是密码校验 ,以下是一个简单的登录代码示例
● 这里封装成了一个 正则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("传入的参数有误!")
}
}
- 调用
// 调用正则校验
let result: boolean = ValidateInputHandle(this.phone, "phone") // this.phone 需要获取传入
let result: boolean = ValidateInputHandle(this.password, "password")
let result: boolean = ValidateInputHandle(this.username, "username")
2、正则规则说明
- 手机号说明
- 密码说明