JS

[フォーム] jQueryでinputにひらがなとスペースだけ入力できるようにする

はじめに

フォームで名前のふりがなを入力する欄に、ひらがなとスペースだけを入力させたい時などありませんか?

実際に案件で使用したコードを解説いたします。

HTML

<dl class="form-group">
  <dt>ふりがな</dt>
  <dd class="your-furigana">
    <input type="text" name="your-furigana" size="100" placeholder="例)たなか たろう" required>
  </dd>
</dl>

jQuery

$(function() {
  $('.your-furigana input').on('change',function(){
    var input = $(this).val();
    var result = input.replace(/(?=.*?[^\u3041-\u309F])[^\u3041-\u309F\s].*/, "");
    $(this).val(result);
  });
});

解説

var input = $(this).val();

で入力した内容を取得し、
replace を使用して、

/(?=.*?[^\u3041-\u309F])[^\u3041-\u309F\s].*/


の正規表現に合致したもの以外を削除します。

changeを使用することで、入力欄からフォーカスが外れた時点でコードが実行されます。

下の記事も是非お試しください!

[フォーム] 数字とハイフンだけ入力したい はじめに フォームで電話番号を入力する欄に、番号とハイフンだけを入力させたい時などありませんか? 実際に案件で使用したコー...

おすすめ書籍

1冊ですべて身につくWordPress入門講座 [ Mana ]

価格:2,200円
(2022/10/12 21:45時点)
感想(2件)

動くWebデザインアイディア帳 [ 久保田涼子 ]

価格:3,080円
(2022/10/12 21:45時点)
感想(8件)

動くWebデザインアイディア帳 実践編 [ 久保田 涼子 ]

価格:2,860円
(2022/10/12 21:46時点)
感想(3件)