HTML 属性: maxlength

maxlength 属性は、ユーザーが <input> または <textarea> に入力できる最大文字列長を(UTF-16 コード単位で)定義します。 0 以上の整数値である必要があります。

長さは UTF-16 コードユニットで測定され、(多くの文字体系では)文字数と等しくなります。 maxlength が指定されなかった場合、または無効な値が指定された場合は、 input には最大長が設定されません。

maxlength の値はすべて、 minlength が存在して有効である場合は、その値以上である必要があります。フィールドのテキスト値の長さが maxlength の UTF-16 コード単位の長さを超える場合、入力欄は制約検証に失敗します。制約検証は、ユーザーが値を変更した場合にのみ適用されます。

制約検証

ブラウザーは一般的に、 maxlength 属性が許可する以上のテキストをユーザーが入力することを防止しますが、長さが maxlength が許可しているよりも長くなった場合、 ValidityState オブジェクトの読み取り専用の tooLong プロパティが true になります。

試してみましょう

<label for="name">Product name:</label>
<input
  id="name"
  name="name"
  type="text"
  value="Shampoo"
  minlength="3"
  maxlength="20"
  required />

<label for="description">Product description:</label>
<textarea
  id="description"
  name="description"
  minlength="10"
  maxlength="40"
  required></textarea>
label {
  display: block;
  margin-top: 1em;
}

input:valid,
textarea:valid {
  background-color: palegreen;
}

html
<input type="password" maxlength="4" />

仕様書

Specification
HTML
# attr-input-maxlength
HTML
# attr-textarea-maxlength

ブラウザーの互換性

html.elements.input.maxlength

html.elements.textarea.maxlength

関連情報