M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2011年5月 9日 23:19

HTML内の住所などからhCardをJavaScriptで生成(意味はない)

このエントリーをはてなブックマークに追加 mixiチェック

HTML内で

<div class="entry">
  <h3>八木山ベニーランド</h3>
  <ul>
    <li>所在地: 〒982-0837 宮城県仙台市太白区長町越路19-1</li>
    <li>TEL: 022-229-1603</li>
  </ul>
</ul>

とかあったとき、むりくりhCardになるように書き換えます。要jQuery。

/* hCard */
$(function() {
  $('.entry').addClass('vcard');
  $('.entry h3').addClass('fn');
  $('.entry li').each(
    function() {
      var self = $(this);
      if (self.text().match(/所在地/) ) {
        var regionList=[
          '北海道', 
          '青森県', 
          '岩手県', 
          '宮城県', 
          '秋田県', 
          '山形県', 
          '福島県', 
          '茨城県', 
          '栃木県', 
          '群馬県', 
          '埼玉県', 
          '千葉県', 
          '東京都', 
          '神奈川県', 
          '新潟県', 
          '富山県', 
          '石川県', 
          '福井県', 
          '山梨県', 
          '長野県', 
          '岐阜県', 
          '静岡県', 
          '愛知県', 
          '三重県', 
          '滋賀県', 
          '京都府', 
          '大阪府', 
          '兵庫県', 
          '奈良県', 
          '和歌山県', 
          '鳥取県', 
          '島根県', 
          '岡山県', 
          '広島県', 
          '山口県', 
          '徳島県', 
          '香川県', 
          '愛媛県', 
          '高知県', 
          '福岡県', 
          '佐賀県', 
          '長崎県', 
          '熊本県', 
          '大分県', 
          '宮崎県', 
          '鹿児島県', 
          '沖縄県'
        ];
        var address = self.text();
        address = address.replace(/\s*所在地:\s*/g,'');
        var zipcode;
        var re = new RegExp('〒(...-....)');
        if ( address.match(re) ) {
          zipcode = '〒<span class="postal-code">'+ RegExp.$1 +'</span>';
          address = address.replace(re,'');
        }
        address = address.replace(/^\s+|\s+$/g, "");
        var region;
        for (var i = 0; i < regionList.length; i++) {
          var re = new RegExp('^('+regionList[i]+')');
          if ( address.match(re) ) {
            region = '<span class="region">'+ RegExp.$1 +'</span>';
            address = address.replace( re, '' );
          }
        };
        var locality;
        var re = new RegExp('(.+[市区町村])');
        if ( address.match(re) ) {
          locality = '<span class="locality">'+ RegExp.$1 +'</span>';
          address = address.replace( re, '' );
        };
        address = '<span class="street-address">'+ address +'</span>';
        self.html('所在地: <span class="adr">'+ zipcode + ' '+ region + locality + address + '</span>');
      }
      else if (self.text().match(/TEL/) ) {
        var tel = self.text();
        tel = tel.replace(/\s*TEL:\s*/g,'');
        self.html('TEL: <span class="tel">'+ tel + '</span>');
      }
  });
});

うすうす気づいているかもしれないですけれども、これっておそらくFirefoxのOperator機能拡張でしか役に立たないよ。

投稿 大野 義貴 [Web] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/3581

コメントする