package card_apple_order

import (
	"context"

	"github.com/gogf/gf/v2/text/gregex"
	"github.com/gogf/gf/v2/text/gstr"
)

/*
ValidateCardPass 校验账号是否正确

# X开头的16位  然后16位卡密中  出现 A B E I O S U 数字 1 和数字0   就是假卡密

如果正确，返回true，否则返回false
*/
func (h *sAppleOrder) ValidateCardPass(ctx context.Context, cardPass string) bool {
	if gstr.LenRune(cardPass) != 16 {
		return false
	}
	if !gstr.HasPrefix(cardPass, "X") {
		return false
	}
	//卡片只能由0-9 A-Z组成
	//if !gstr.(cardPass, `^[0-9A-Z]+$`) {
	//	return false
	//}
	if !gregex.IsMatchString(`^[0-9A-Z]+$`, cardPass) {
		return false
	}
	if gstr.InArray([]string{"A", "B", "E", "I", "O", "S", "U", "1", "0"}, cardPass) {
		return false
	}
	return true
}
