








var u = location.href;
if (u.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/) !=- 1) {
    var asin = RegExp.$1;
    ここで何かをする。
}
var u = location.href;
if (u.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/) != -1) {
    var asin = RegExp.$1;
    location.href = 'https://www.amazon.co.jp/dp/' + asin;
}
javascript:(function(){if(location.href.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/)!=-1){location.href='https://www.amazon.co.jp/dp/'+RegExp.$1;}})();
var u = location.href;
if (u.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/) != -1) {
    var asin = RegExp.$1;
    location.href = 'https://www.amazon.co.jp/exec/obidos/ASIN/'
        + asin + '/yto-22';
}
javascript:(function(){if(location.href.search(/[^0-9A-Z]([B0-9][0-9A-Z]{9})([^0-9A-Z]|$)/)!=-1){location.href='https://www.amazon.co.jp/exec/obidos/ASIN/'+RegExp.$1+'/yto-22';}})();
URL から取るより確かにこの方法だと誤りなくASINが取得できるのですが、同じアマゾンの商品ページでもカスタマーレビューページ(http://www.amazon.co.jp/review/product/4569702791)などでは id="ASIN" がなかったりするので、使えないのです。
document.getElementById('ASIN').getAttribute('value')
とかの方が良くないです?

