# ひらがなをカタカナに強制変換できるか？

**URL:** <https://community.cybozu.dev/t/topic/3895>\
**Category:** kintone 開発相談\
**Created:** [2019 年 3 月 18 日午前 1:23 UTC](https://community.cybozu.dev/t/topic/3895 "2019-03-18T01:23:57Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Legacy\_Account1031](https://avatars.discourse-cdn.com/v4/letter/l/eb8c5e/32.png) [@Legacy\_Account1031](https://community.cybozu.dev/u/Legacy_Account1031)\
**Post date:** [2019 年 3 月 18 日午前 1:23 UTC](https://community.cybozu.dev/t/topic/3895/1 "2019-03-18T01:23:57Z")

</div>

ある入力項目に対して、カタカナで入力させたいのですが、仮にひらがなで入力された場合でも強制的にカタカナに変換することは可能でしょうか？

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1665](https://avatars.discourse-cdn.com/v4/letter/l/f07891/32.png) [@Legacy\_Account1665](https://community.cybozu.dev/u/Legacy_Account1665)\
**Post date:** [2019 年 3 月 18 日午前 2:54 UTC](https://community.cybozu.dev/t/topic/3895/2 "2019-03-18T02:54:14Z")

</div>

JavaScriptでひらがな -\> カタカナの変換自体は、こんなロジックで行けますね。

[https://qiita.com/mimoe/items/855c112625d39b066c9a](https://qiita.com/mimoe/items/855c112625d39b066c9a)

&nbsp;

フォームブリッジの場合、設定で「確認画面あり」にしておくと、

確認画面を表示する瞬間にfb.events.form.confirmイベントで文字列変換ができます。

上記サイトにある「hiraToKana」関数を使って手元の環境で試してみたら、こんな感じでうまくいきましたー。

```
(function() {
'use strict';

function hiraToKana(str) {
return str.replace(/[\u3041-\u3096]/g, function(match) {
var chr = match.charCodeAt(0) + 0x60;
return String.fromCharCode(chr);
});
}

fb.events.form.confirm = [
function(state) {
var kana = state.record.フィールドコード;
kana.value = hiraToKana(kana.value);
return state;
},
];
})();

```

&nbsp;

ただ、これだと英数字や漢字が混じってても普通に通過しちゃうので、

その辺のバリデーションも合わせてやりたい時は、もう一工夫必要だと思います。

頑張ってみてください！

&nbsp;

---

<div class="post-metadata">

**Author:** ![Legacy\_Account1031](https://avatars.discourse-cdn.com/v4/letter/l/eb8c5e/32.png) [@Legacy\_Account1031](https://community.cybozu.dev/u/Legacy_Account1031)\
**Post date:** [2019 年 3 月 18 日午前 3:07 UTC](https://community.cybozu.dev/t/topic/3895/3 "2019-03-18T03:07:52Z")

</div>

赤座様

お世話になっております。

ありがとうございます。

こちらでもできました！

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex015/uploads/cybozu/original/1X/d5c841c3c5a6cb66eed514001c1b45147c9e1f4f.png) [@system](https://community.cybozu.dev/u/system)\
**Post date:** [2025 年 3 月 14 日午前 4:48 UTC](https://community.cybozu.dev/t/topic/3895/4 "2025-03-14T04:48:52Z")

</div>

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。
