/** حروف انگلیسی، اعداد و . _ - — بدون فارسی و کاراکترهای غیرمعمول */
export const USERNAME_REGEX = /^[a-zA-Z0-9][a-zA-Z0-9._-]{5,99}$/;

export const USERNAME_MIN_LENGTH = 6;
export const USERNAME_MAX_LENGTH = 100;

export const USERNAME_ALLOWED_CHARS = /[^a-zA-Z0-9._-]/g;

export const USERNAME_VALIDATION_MESSAGE =
  "نام کاربری فقط می‌تواند شامل حروف انگلیسی، اعداد و کاراکترهای . _ - باشد";

export const USERNAME_START_MESSAGE =
  "نام کاربری باید با حرف یا عدد انگلیسی شروع شود";

export function sanitizeUsernameInput(value: string): string {
  return value.replace(USERNAME_ALLOWED_CHARS, "");
}

export function isValidUsername(value: string): boolean {
  return USERNAME_REGEX.test(value);
}
