HTML5属性を使用してカスタムフォーム検証を実装するには、 required
、 pattern
、 min
、 max
などの属性の組み合わせを使用して、HTML要素内の検証基準を直接定義できます。これらの属性のそれぞれを使用する方法は次のとおりです。
必須属性:フォームを送信する前に記入する必要がある入力フィールドにrequired
属性を追加できます。例えば:
<code class="html"><input type="text" name="username" required></code>
これにより、フォームが送信されたときにusername
フィールドを空にしたままにすることができません。
パターン属性: pattern
属性は、入力値が一致する必要がある正規表現を指定するために使用されます。例えば:
<code class="html"><input type="text" name="zipcode" pattern="[0-9]{5}" title="Five digit zip code"></code>
これにより、 zipcode
フィールドが5桁の数字のみを受け入れることが保証されます。
MINおよびMAX属性: min
およびmax
属性は、数値入力タイプまたは日付の最小値と最大値を指定するために使用されます。例えば:
<code class="html"><input type="number" name="age" min="18" max="100"></code>
これにより、 age
フィールドが18〜100の値のみを受け入れることが保証されます。
これらの属性を使用することにより、HTMLで堅牢な検証ルールを直接定義できます。これは、追加のJavaScriptを必要とせずにブラウザが実施できることです。
フォーム検証にHTML5属性を使用すると、JavaScriptのみで検証を実装することと比較していくつかの利点があります。
HTML5フォーム検証属性を使用するときにクロスブラウザー互換性を確保するには、いくつかの戦略が含まれます。
CSSスタイリング:CSSを使用して、ネイティブ検証エラーメッセージをスタイリングし、ブラウザ全体でより一貫性を発揮します。例えば:
<code class="css">:invalid { border: 2px solid red; }</code>
これにより、赤い境界線で無効なすべてのフィールドが強調され、均一なユーザーエクスペリエンスが確保されます。
HTML5 pattern
属性は、複雑な検証ルールを定義するために正規表現で使用できます。複雑なパターンの例をいくつか紹介します。
メールアドレスの検証:
<code class="html"><input type="text" name="email" pattern="[a-z0-9._% -] @[a-z0-9.-] \.[az]{2,}$" title="Enter a valid email address"></code>
このパターンにより、入力されたテキストが有効な電子メールアドレス形式であることが保証されます。
強力なパスワード検証:
<code class="html"><input type="password" name="password" pattern="(?=.*\d)(?=.*[az])(?=.*[AZ]).{8,}" title="Must contain at least one number, one uppercase and lowercase letter, and at least 8 or more characters"></code>
このパターンでは、パスワードに少なくとも1つの数字、1つの大文字、1つの小文字の文字が含まれ、少なくとも8文字の長さになる必要があります。
クレジットカード番号の検証:
<code class="html"><input type="text" name="creditcard" pattern="^(?:4[0-9]{12}(?:[0-9]{3})?|[25][1-7][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$" title="Enter a valid credit card number"></code>
このパターンは、Visa、MasterCard、American Express、Discover、JCBなど、一般的なクレジットカード形式を検証します。
電話番号の検証:
<code class="html"><input type="tel" name="phone" pattern="\ ?[1-9]\d{1,14}" title="Enter a valid phone number"></code>
このパターンにより、オプションのリーディングプラスサインを含む最大15桁の国際電話番号が可能になります。
これらの例は、HTMLフォーム内で洗練された検証ルールを直接実装して、 pattern
属性を活用する方法を示しています。
以上がHTML5属性(必要、パターン、MIN、MAXなど)を使用してカスタムフォーム検証を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。