/** حروف انگلیسی، اعداد و . _ - — بدون فارسی و کاراکترهای غیرمعمول */ const USERNAME_REGEX = /^[a-zA-Z0-9][a-zA-Z0-9._-]{7,99}$/ const USERNAME_MIN_LENGTH = 8 const USERNAME_MAX_LENGTH = 100 const validateUsername = (user_name) => { if (!user_name || typeof user_name !== 'string') { return 'نام کاربری الزامی است' } const trimmed = user_name.trim() if (trimmed.length < USERNAME_MIN_LENGTH) { return `نام کاربری باید حداقل ${USERNAME_MIN_LENGTH} کاراکتر باشد` } if (trimmed.length > USERNAME_MAX_LENGTH) { return `نام کاربری نمی‌تواند بیشتر از ${USERNAME_MAX_LENGTH} کاراکتر باشد` } if (!USERNAME_REGEX.test(trimmed)) { return 'نام کاربری فقط می‌تواند شامل حروف انگلیسی، اعداد و کاراکترهای . _ - باشد' } return null } module.exports = { USERNAME_REGEX, USERNAME_MIN_LENGTH, USERNAME_MAX_LENGTH, validateUsername }