MST

星途 面试题库

面试题:TypeScript函数重载在表单验证逻辑中的应用

假设你正在开发一个用户注册表单,其中包含用户名、密码和邮箱字段。用户名要求长度在3到20个字符之间,密码长度至少6位且包含数字和字母,邮箱需符合邮箱格式。请使用TypeScript函数重载来实现一个验证函数,根据传入不同字段返回相应的验证结果。
48.6万 热度难度
前端开发TypeScript

知识考点

AI 面试

面试题答案

一键面试
function validate(field: 'username', value: string): boolean;
function validate(field: 'password', value: string): boolean;
function validate(field: 'email', value: string): boolean;
function validate(field: 'username' | 'password' | 'email', value: string): boolean {
    if (field === 'username') {
        return value.length >= 3 && value.length <= 20;
    } else if (field === 'password') {
        return /^(?=.*[A-Za-z])(?=.*\d).{6,}$/.test(value);
    } else if (field === 'email') {
        return /^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/.test(value);
    }
    return false;
}