新しいサービス【AwesomeQR】

フォームブリッジで全角カタカナから半角カタカナへ自動で変換する方法

3 min 1,053 views

はじめに

あまり使うことはないかもしれませんが、今回は、自分への備忘録として、フォームブリッジで全角カタカナから半角カタカナへ自動で変換する方法を紹介したいと思います。

方法

以下のコードをJavaScriptで保存して設定するだけです。

(function() {
    'use strict';

    //全角カナ⇒半角カナ
    function zenkana2Hankana(str) {
        var kanaMap = {
             "ガ": "ガ", "ギ": "ギ", "グ": "グ", "ゲ": "ゲ", "ゴ": "ゴ",
             "ザ": "ザ", "ジ": "ジ", "ズ": "ズ", "ゼ": "ゼ", "ゾ": "ゾ",
             "ダ": "ダ", "ヂ": "ヂ", "ヅ": "ヅ", "デ": "デ", "ド": "ド",
             "バ": "バ", "ビ": "ビ", "ブ": "ブ", "ベ": "ベ", "ボ": "ボ",
             "パ": "パ", "ピ": "ピ", "プ": "プ", "ペ": "ペ", "ポ": "ポ",
             "ヴ": "ヴ", "ヷ": "ヷ", "ヺ": "ヺ",
             "ア": "ア", "イ": "イ", "ウ": "ウ", "エ": "エ", "オ": "オ",
             "カ": "カ", "キ": "キ", "ク": "ク", "ケ": "ケ", "コ": "コ",
             "サ": "サ", "シ": "シ", "ス": "ス", "セ": "セ", "ソ": "ソ",
             "タ": "タ", "チ": "チ", "ツ": "ツ", "テ": "テ", "ト": "ト",
             "ナ": "ナ", "ニ": "ニ", "ヌ": "ヌ", "ネ": "ネ", "ノ": "ノ",
             "ハ": "ハ", "ヒ": "ヒ", "フ": "フ", "ヘ": "ヘ", "ホ": "ホ",
             "マ": "マ", "ミ": "ミ", "ム": "ム", "メ": "メ", "モ": "モ",
             "ヤ": "ヤ", "ユ": "ユ", "ヨ": "ヨ",
             "ラ": "ラ", "リ": "リ", "ル": "ル", "レ": "レ", "ロ": "ロ",
             "ワ": "ワ", "ヲ": "ヲ", "ン": "ン",
             "ァ": "ァ", "ィ": "ィ", "ゥ": "ゥ", "ェ": "ェ", "ォ": "ォ",
             "ッ": "ッ", "ャ": "ャ", "ュ": "ュ", "ョ": "ョ",
             "。": "。", "、": "、", "ー": "ー", "「": "「", "」": "」", "・": "・"
        }
        var reg = new RegExp('(' + Object.keys(kanaMap).join('|') + ')', 'g');
        return str
                .replace(reg, function (match) {
                    return kanaMap[match];
                })
                .replace(/゛/g, '゙')
                .replace(/゜/g, '゚');
    };

    fb.events.form.confirm = [
        function(state) {
          var kana = state.record.single_line_text; //"single_line_text"は変換したいフィールドコード
          kana.value = zenkana2Hankana(kana.value);
          return state;
        },
      ];

})();

変換したいフィールドコードだけは自分で編集してください。

さいごに

今後もkintoneやフォームブリッジなどの使えそうなカスタマイズがあれば紹介したいと思います。

関連記事