“ひらがな”のみ入力許可とするInputを作ってみる。

ユースケース

  • 会員登録フォームなどの「ふりがな」

仕様

  • 許容文字: \u3040-\u309f
    ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをん
  • ペースト許容しない
  • ドラッグ&ドロップ許容しない

デモ

実装

input.addEventListener("keyup", function(e) {
  let tmp = [];

  this.value.split("").forEach(function(item, i) {    
    if (item.match(/^[\u3040-\u309f]+$/)) {
      tmp.push(item);
    }
  });

  if (tmp.length > 0) {
    this.value = tmp.join("");
  } else {
    this.value = "";
  }
});