2009/01/18

Ajaxzip2

べんりなajaxzip2。
郵便番号を入力すると、該当する都道府県名・住所が自動的に入力されます。
AjaxとJSONフォーマットを利用するJavaScriptライブラリとして公開されているものを利用。
JavaScript のみで稼動するため、サーバサイドで稼動するCGIプログラムは不要です。
郵便番号→住所変換処理は全てクライアントサイドのJavaScriptで行います。
既存 HTML の住所入力フォームをたった3行書き換えるだけで利用できます。

住所入力フォームHTMLを書き換える場合は、変更箇所は3行のみです。
まず、 ヘッダー中に以下の2行を追加してください。
script src="ajaxzip2/ajaxzip2.js" charset="UTF-8"

ページ内で既に prototype.js または jquery.js のいずれかを利用している場合、追加するのは ajaxzip2.js の1行のみでOKです。
なお、ajaxzip2.js の文字コードは UTF-8 ですが、呼び出し元のフォームのある HTML ファイルの文字コードは Shift_JIS でも EUC-JP でも構いません。

次に、住所入力フォームの7桁郵便番号入力欄に onKeyUp イベントハンドラを登録します。

input name="zip" type="text"

input name="zip" onkeyup="AjaxZip2.zip2addr(this,'pref','addr',null,'addr');" type="text"

第2引数 'pref' には、都道府県名選択のプルダウン(またはテキスト入力欄も可)のフォーム変数名を指定します。
同様に、第3引数 'addr' に市区町村名以下の住所入力欄のフォーム変数名を指定します。
ご利用のフォームに合わせて、変更しておいてください。

Terminal パスワード

たまに人のコンピュータを頼まれて弄る機会があるが、
自分的には人にはさわらせたくないですね。

ブラウザなどの自動入力の情報はキーチェーンに保存されており
当然ながら呼び出せます。アカウント、パスワードなど。

security dump-keychain -d ~/Library/Keychains/login.keychain

こんな感じで。

ちなみにセキュリティのマニュアルは
man security

文字コード設定いろいろ

.htaccess ファイルで、PHP の "mbstring"関数を設定する例。

# UTF-8 で作成・保存して UTF-8 で表示させる場合

php_flag output_buffering Off
php_value output_handler none
php_value default_charset UTF-8
php_value mbstring.language japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output UTF-8
php_value mbstring.internal_encoding UTF-8
php_value mbstring.substitute_character none


# UTF-8 で作成・保存して Shift_JIS で表示させる場合

php_flag output_buffering On
php_value output_handler mb_output_handler
php_value default_charset Shift_JIS
php_value mbstring.language japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output SJIS
php_value mbstring.internal_encoding UTF-8
php_value mbstring.substitute_character none

# EUC-JP で作成・保存して EUC-JP で表示させる場合

php_flag output_buffering Off
php_value output_handler none
php_value default_charset EUC-JP
php_value mbstring.language japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output EUC-JP
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.substitute_character none

# EUC-JP で作成・保存して Shift_JIS で表示させる場合

php_flag output_buffering On
php_value output_handler mb_output_handler
php_value default_charset Shift_JIS
php_value mbstring.language japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output SJIS
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.substitute_character none