HTML 屬性:minlength

minlength 屬性定義了使用者可以在 <input><textarea> 中輸入的 字串的最小長度。該屬性的值必須是 0 或更大的整數。

長度以 UTF-16 碼元為單位度量,這通常(但並非總是)等於字元數。如果未指定 minlength,或者指定的值無效,則輸入沒有最小長度。此值必須小於或等於 maxlength 的值,否則該值將永遠無效,因為無法同時滿足兩個條件。

如果欄位的文字值的長度小於 minlength 個 UTF-16 碼元,則輸入將因約束驗證失敗,此時 validityState.tooShort 將返回 true。約束驗證僅在使用者更改值時應用。一旦提交失敗,一些瀏覽器會顯示一條錯誤訊息,指示所需的最小長度和當前長度。

minlength 並不意味著 required;只有當用戶輸入了值時,輸入才會違反 minlength 約束。如果輸入不是 required,即使設定了 minlength,也可以提交空字串。

試一試

<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;
}

示例

透過新增 minlength="5",該值必須為空或至少為五個字元長才能有效。

html
<label for="fruit">Enter a fruit name that is at least 5 letters long</label>
<input type="text" minlength="5" id="fruit" />

我們可以使用偽類來根據值是否有效來設定元素的樣式。只要值為空(null)或長度為五個或更多字元,該值就是有效的。*Lime* 無效,*lemon 有效*。

css
input {
  border: 2px solid currentColor;
}
input:invalid {
  border: 2px dashed red;
}
input:invalid:focus {
  background-image: linear-gradient(pink, lightgreen);
}

規範

規範
HTML
# attr-input-minlength
HTML
# attr-textarea-minlength

瀏覽器相容性

html.elements.input.minlength

html.elements.textarea.minlength

另見