package utils

import (
	"regexp"
	"strings"
)

// NormalizeTaiwanMobile 標準化號碼並驗證是否為合法台灣手機號碼
func NormalizeTaiwanMobile(phone string) (string, bool) {
	// 移除空格
	phone = strings.ReplaceAll(phone, " ", "")

	// 移除 "+886" 並將剩餘部分標準化
	if strings.HasPrefix(phone, "+886") {
		phone = strings.TrimPrefix(phone, "+886")
		if !strings.HasPrefix(phone, "0") {
			phone = "0" + phone
		}
	}

	// 正則表達式驗證標準化後的號碼
	regex := regexp.MustCompile(`^(09\d{8})$`)
	if regex.MatchString(phone) {
		return phone, true
	}

	return "", false
}

// IsValidEmail 驗證 Email 格式的函數
func IsValidEmail(email string) bool {
	// 定義正則表達式
	regex := regexp.MustCompile(`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`)

	return regex.MatchString(email)
}
