validateInputHandle.ets
1.2 KB
/**
* 手机号和密码的正则表达式 API
* @param input : 用户输入的手机号或者密码或者用户名
* @param type : 调用者需要明确传入的是手机号 还是 密码 校验
*/
type typeValue = "phone" | "password" | "email" | "idCard" | "businessLicenseNo" | "username"
export function ValidateInputHandle(input: string, type: typeValue): boolean {
switch(type) {
case "phone":
const phoneRegex = /^1[3456789]\d{9}$/
return phoneRegex.test(input)
case "email":
const emailRegex = /^([a-zA-Z]|[0-9])(\w|\-)+@[a-zA-Z0-9]+\.([a-zA-Z]{2,4})$/
return emailRegex.test(input)
case "businessLicenseNo":
const businessLicenseNoRegex = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/
return businessLicenseNoRegex.test(input)
case "username":
const usernameRegex = /^[a-zA-Z0-9]{4,20}$/
return usernameRegex.test(input)
case "idCard":
if(input === '') {
return true
} else {
const idCardRegex = /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
return idCardRegex.test(input)
}
default :
throw new Error("传入的参数有误!")
}
}