更新、2017
@Leonid は ASIN を見つけたとコメントしましたBT00LLINKI
。
ASIN は厳密に増加しているようには見えませんが、最も古い非 ISBN ASIN は、新しい ASIN よりも多くのゼロを持つ傾向があります。おそらく、ゼロ パディングのない ASIN が見られるようになるのは避けられないことでした (そして、どうなるのだろうか...)。そこで、「B」の後に 9 文字の英数字 (または ISBN) が続くものを探しています。
/^(B[\dA-Z]{9}|\d{9}(X|\d))$/
元の答え
Javascript では、次の正規表現を使用して、文字列が ASIN である可能性があるかどうか、またはそれを含むかどうかを判断します。
/^\s*(B\d{2}[A-Z\d]{7}|\d{9}[X\d])\s*$/
または、余分な空白やキャプチャを気にせずに:
/^(B\d{2}[A-Z\d]{7}|\d{9}[X\d])$/
他の人が述べたように、Amazon は実際には仕様を明らかにしていません。ただし、実際には、ASIN の可能な形式は 2 つしか見たことがありません。
- 10 桁の ISBN コード。9 桁 + 数字または「X」の最後の文字。
- 文字 B の後に 2 桁の数字が続き、その後に 7 つの ASCII 範囲の英数字 (英字は大文字) が続きます。
このパターンに当てはまらない ASIN に遭遇したことがある人は、声をかけてください。実際には、これよりもさらに制限を厳しくすることも可能かもしれませんが、私には確信が持てません。ISBN 以外の ASIN では、アルファベット文字のサブセットしか使用されない場合がありますが、使用されている場合でも、ほとんどの文字が使用されています。少なくとも (K、Z、Q、W...)