Tips というより開発時に調べた Script 等を忘れないように書き留めた覚え書きです。
最近はここに書き留めておくことも忘れている始末で、我ながら情けなく思う今日この頃です。
ということで、不定期更新というか最近更新していませんが、JavaScript や VBScript などを紹介していきますのでご参考になれば幸いです。
電子メールに自動挿入するメッセージを改行する / 特殊文字を入力する
メールアドレスのリンクをクリックすると、メールソフトに CC、BCC、件名、本文を自動的に入力させることができることはご存じだと思いますが、ご存じない方の為にまずその説明をしておきます。
- まず、「<a href="mailto:xxxx@xxxx.co.jp">」のように通常のメールアドレスのリンクを作ります。
- このメールアドレスに「?」を付けて必要なパラメータをつなげます。
- また、パラメータが複数ある場合は「&」でつなげます。
- パラメータ:以下の中から入力したい項目を「&」で区切って組み合わせる
cc=xxxx | カーボンコピーアドレスを入力する |
bcc=xxxx | ブラインドカーボンコピーアドレスを入力する |
subject=xxxx | 件名を入力する |
body=xxxx | 本文を入力する |
e-mail : xx@xx.co.jp
しかしこれでは本文を改行しても改行されませんし、「=」や「&」、スペースなどが入れられません。
まずは[メール送信]をクリックしてみて下さい。
件名にスペースや & が入っているし、メッセージの文章が改行されていたと思います。
改行や特殊文字を使用する場合はエスケープシーケンスを利用します。
エスケープシーケンス
エスケープシーケンスとは「%」+16進数の文字コード(ASCII)です。
ASCIIコードに関しては「ASCII 文字セット (0 ~ 127)」、「ASCII 文字セット (128 ~ 255)」を参照して下さい。
例)改行の場合は以下のようになります。
- 改行コードは、「Chr(13) + Chr(10)」です。
- 13 を 16進数で表すと A =[ 0を付けて2桁にする ]=> 0A =[ % を付ける ]=> %0A
- 10 を 16進数で表すと D =[ 0を付けて2桁にする ]=> 0D =[ % を付ける ]=> %0D
- よって「%0A%0D」で改行されます。
10進数を16進数に変換するのは Windows 標準の電卓で簡単にできます。
- Windowsキー+R で「ファイル名を指定して実行」ダイアログを開き、名前に「calc」を入力して「OK」をクリックすると電卓が開きます。
- ナビーションを開いて「プログラマー」を選択します。
- 「DEC」が選択状態になっていることを確認して10進数の数字(今回の例だと 13)を入力します。
- 「HEX」のところに16進数の値が表示されます(今回の例だと D)
HEX:16進数
DEC:10進数
OCT:8進数
BIN:2進数
代表的な特殊文字変換表
改行 | %0D%0A |
半角スペース | %20 |
カンマ | %2C |
% | %25 |
& | %26 |
= | %3D |
? | %3F |