/** * Validates email format (basic RFC 5322 pattern) * @param email - Email address to validate * @returns true if valid email format */ export function isValidEmail(email: string): boolean { const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/ return emailRegex.test(email) } /** * Validates URL format * @param url - URL to validate * @returns true if valid URL format */ export function isValidUrl(url: string): boolean { try { new URL(url) return true } catch { return false } } /** * Checks if string is empty or only whitespace * @param text - Text to check * @returns true if empty or whitespace-only */ export function isEmpty(text: string): boolean { return text.trim().length === 0 } /** * Checks if string contains only alphanumeric characters * @param text - Text to check * @returns true if alphanumeric only */ export function isAlphanumeric(text: string): boolean { return /^[a-zA-Z0-9]+$/.test(text) } /** * Validates username format (alphanumeric, underscores, hyphens, 3-30 chars) * @param username - Username to validate * @returns true if valid username format */ export function isValidUsername(username: string): boolean { return /^[a-zA-Z0-9_-]{3,30}$/.test(username) }