/** 表单占位与展示用，须与 validateLoginPasswordRule 一致 */
export const LOGIN_PASSWORD_FIELD_PLACEHOLDER = '6–16 位，含字母与数字'

/**
 * 登录密码：6–16 位，数字+字母，无空格（注册 / 登录 / 修改登录密码共用）
 */
export function validateLoginPasswordRule(password: string): string | null {
  if (password.length < 6 || password.length > 16) {
    return '密码长度须为 6–16 位'
  }
  if (/\s/.test(password)) {
    return '密码不能包含空格'
  }
  if (!/(?=.*[a-zA-Z])(?=.*\d)/.test(password)) {
    return '须同时包含字母与数字'
  }
  return null
}

/**
 * 资金密码：7–20 位，数字+字母（文档 §4.7）
 */
export function validateFundPasswordRule(password: string): string | null {
  if (password.length < 7 || password.length > 20) {
    return '资金密码须为 7–20 位'
  }
  if (!/(?=.*[a-zA-Z])(?=.*\d)/.test(password)) {
    return '须同时包含字母与数字'
  }
  return null
}
