Goでクレジットカードのバリデーション

なんだこのかゆいところに手が届く感じのライブラリは…

以下がREADMEにも書いてある簡単な例。ただただ簡単。

こういうのって基本的にフロントエンドが吸収すると思うけど、goでDBにcommitする前のvalidateでこういう便利ライブラリ使ってちゃんと細かいチェックできたら安全そうですね。

// Initialize a new card:
card := creditcard.Card{Number: "4242424242424242", Cvv: "11111", Month: "02", Year: "2016"}

// Validate the card's number (without capturing)
err := card.Validate() // will return an error due to not allowing test cards