【サンプルコード付き】日本語必須&ふりがな入力をチェックするフォームの作り方
Webサイトのお問い合わせフォームで「お名前は日本語必須」
「ふりがなはひらがな必須」といった入力制限を設けたいことはありませんか?
今回は、シンプルなHTMLフォームに正規表現によるバリデーションを組み込み、
入力が正しくない場合はエラーを表示する方法をご紹介します。
HTMLフォームのサンプルコード
以下のフォームでは、「お名前」と「ふりがな」に入力制限をかけています。
- お名前 → 日本語(漢字・ひらがな・カタカナ)が必須
- ふりがな → ひらがなのみ入力可能
<form id="sample-form" action="./sample-mail.php" method="post">
<table class="sample-table">
<tbody>
<tr>
<th>お名前<span class="sample-error">※</span></th>
<td>
<input type="text" class="sample-input" id="sample-name" name="お名前" placeholder="例)山田 太郎" required />
<span id="sample-error-name" style="color:red; display:none;">日本語(漢字・ひらがな・カタカナ)で入力してください。</span>
</td>
</tr>
<tr>
<th>ふりがな<span class="sample-error">※</span></th>
<td>
<input type="text" class="sample-input" id="sample-furigana" name="ふりがな" placeholder="例)やまだ たろう" required />
<span id="sample-error-furigana" style="color:red; display:none;">ひらがなで入力してください。</span>
</td>
</tr>
<tr>
<th>メールアドレス</th>
<td>
<input type="email" class="sample-input" name="メールアドレス" placeholder="例)sample@example.com" />
</td>
</tr>
</tbody>
</table>
<div class="sample-btn-wrap">
<input type="submit" class="sample-submit" value="送信する" />
</div>
</form>
JavaScriptでのバリデーション処理
フォーム送信時に「日本語チェック」「ひらがなチェック」を行います。
また、入力中にエラーがあれば即時にメッセージを表示します。
<script>
document.getElementById("sample-form").addEventListener("submit", function(e) {
let valid = true;
// 「お名前」→ 日本語必須
const name = document.getElementById("sample-name").value;
const japaneseRegex = /[ぁ-んァ-ン一-龥]/;
if (!japaneseRegex.test(name)) {
document.getElementById("sample-error-name").style.display = "inline";
valid = false;
} else {
document.getElementById("sample-error-name").style.display = "none";
}
// 「ふりがな」→ ひらがなのみ
const furigana = document.getElementById("sample-furigana").value;
const hiraganaRegex = /^[ぁ-んー\s ]+$/;
if (!hiraganaRegex.test(furigana)) {
document.getElementById("sample-error-furigana").style.display = "inline";
valid = false;
} else {
document.getElementById("sample-error-furigana").style.display = "none";
}
if (!valid) {
e.preventDefault(); // 送信中止
}
});
</script>
ポイント解説
- 正規表現の役割
/[ぁ-んァ-ン一-龥]/→ 日本語(ひらがな・カタカナ・漢字)のいずれかを1文字でも含める/^[ぁ-んー\s ]+$/→ 入力全体が「ひらがな・長音符・スペース」のみで構成されているかチェック
- エラーメッセージの表示方法
<span>をデフォルトでdisplay:noneにしておき、エラー時のみdisplay:inlineに切り替えることで実現しています。 - サンプル用クラス名
本記事では他のコードと衝突しないよう、すべてsample-プレフィックスを付けています。
まとめ
日本語やひらがなの入力チェックは、正規表現を活用するだけで簡単に実装可能です。
また、ブラウザの pattern 属性を併用すれば、ネイティブバリデーションも効かせることができます。
お問い合わせフォームや会員登録フォームなどで入力精度を高めたいときに、ぜひこの方法を活用してみてください。


Swiperで作る“寄り→引き”ヒーロースライダー実装ガイド 〜ズーム方向指定・Ken Burns効果・進捗ラインまで〜
1月 6, 2026横スライドしながら拡大するスライド演出の作り方〜ズームインで魅せる、上質なキービジュアル表現〜
12月 24, 2025今日の日付と現在時刻を自動表示!「10月15日10:15 現在」をJavaScriptで実装する方法
10月 15, 2025