HTML Academy · บทเรียน

required pattern min max และ maxlength

เพิ่มข้อจำกัดการตรวจสอบในตัวให้กับช่องป้อนข้อมูลของแบบฟอร์ม

บทเรียน 1 จาก 414 ขั้นตอน

required pattern min max และ maxlength เป็นบทเรียน HTML Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน HTML Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

การตรวจสอบความถูกต้องของแบบฟอร์ม HTML5

HTML5 เพิ่มการตรวจสอบความถูกต้องของแบบฟอร์มในตัว — ไม่จำเป็นต้องใช้ JavaScript:

  • เบราว์เซอร์จะตรวจสอบเงื่อนไขก่อนส่งแบบฟอร์ม
  • ข้อความแสดงข้อผิดพลาดดั้งเดิมจะปรากฏโดยอัตโนมัติ
  • ทำงานร่วมกับคลาสเทียม :valid / :invalid ของ CSS

required

แอตทริบิวต์ required จะป้องกันการส่งแบบฟอร์มหากช่องว่างเปล่า:

<label for="email">Email (required)</label>
<input type="email" id="email" name="email" required>
<!-- Empty on submit → browser shows "Please fill in this field" -->
<!-- Also: field is :invalid until filled -->

pattern

แอตทริบิวต์ pattern จะตรวจสอบข้อความกับนิพจน์ทั่วไป:

<label for="username">Username (letters and numbers only)</label>
<input
  type="text"
  id="username"
  name="username"
  pattern="[a-zA-Z0-9]{3,20}"
  title="3-20 letters and numbers"
>
<!-- pattern anchored at both ends automatically -->
<!-- title provides the error message hint -->

ตัวอย่าง pattern ที่ใช้บ่อย

รูปแบบนิพจน์ทั่วไปที่มีประโยชน์สำหรับช่องในแบบฟอร์ม:

<!-- Phone: digits, spaces, hyphens -->
<input type="tel" pattern="[0-9 ()+-]{7,20}">

<!-- Postal code: US zip code -->
<input type="text" pattern="[0-9]{5}(-[0-9]{4})?">

<!-- Password: min 8 chars, one uppercase, one digit -->
<input type="password" pattern="(?=.*[A-Z])(?=.*[0-9]).{8,}">

<!-- Twitter handle: -->
<input type="text" pattern="@?[A-Za-z0-9_]{1,15}">

min และ max

จำกัดข้อมูลป้อนเข้าประเภทตัวเลข วันที่ และช่วง:

<!-- Number range -->
<input type="number" name="qty" min="1" max="100">

<!-- Date range -->
<input type="date" name="checkin" min="2025-01-01" max="2025-12-31">

<!-- Range slider -->
<input type="range" name="volume" min="0" max="100" step="5">

<!-- Time -->
<input type="time" name="meeting" min="09:00" max="17:00">

maxlength และ minlength

ควบคุมความยาวของข้อความที่ป้อน:

<input type="text" name="username" minlength="3" maxlength="20">
<!-- minlength: minimum number of characters required -->
<!-- maxlength: maximum characters allowed (browser enforces hard stop) -->

<textarea name="bio" minlength="50" maxlength="500"></textarea>
<!-- Same attributes work on textarea -->

step

แอตทริบิวต์ step กำหนดค่าการเพิ่มที่ใช้ได้สำหรับข้อมูลป้อนเข้าประเภทตัวเลขและช่วง:

<input type="number" name="price" min="0" step="0.01">
<!-- Accepts decimal prices: 0.00, 0.01, 4.99, etc. -->

<input type="number" name="qty" min="0" step="5">
<!-- Only multiples of 5: 0, 5, 10, 15... -->

<input type="range" min="0" max="100" step="10">
<!-- Snaps to: 0, 10, 20, ..., 100 -->

CSS :valid และ :invalid

จัดรูปแบบช่องตามสถานะการตรวจสอบความถูกต้อง:

input:valid {
  border-color: #22c55e;   /* green when valid */
}

input:invalid {
  border-color: #ef4444;   /* red when invalid */
}

/* Avoid showing :invalid on page load (before user interaction): */
input:not(:placeholder-shown):invalid {
  border-color: #ef4444;
}
/* Only show invalid style after user has typed something */

title สำหรับข้อความแสดงข้อผิดพลาดที่กำหนดเอง

แอตทริบิวต์ title จะแสดงคำใบ้ในข้อผิดพลาดจากการตรวจสอบของเบราว์เซอร์:

<input
  type="text"
  pattern="[A-Za-z]{2,3}"
  title="Enter a 2 or 3 letter country code (e.g. US, GB, DEU)"
  name="country-code"
>
<!-- Browser shows the title text alongside the default error message -->

การรวมเงื่อนไข

แอตทริบิวต์การตรวจสอบหลายรายการทำงานร่วมกันได้:

<input
  type="text"
  name="username"
  required
  minlength="3"
  maxlength="20"
  pattern="[a-z][a-z0-9_]*"
  title="Lowercase letters, numbers, underscores. Must start with a letter."
>
<!-- All constraints must pass for the field to be :valid -->

novalidate และจังหวะการตรวจสอบ

โดยค่าเริ่มต้น การตรวจสอบจะทำงานเมื่อส่งแบบฟอร์ม หากต้องการตรวจสอบเมื่อเกิดเหตุการณ์ input แต่ละครั้ง:

<input type="email" id="email">

<script>
const input = document.getElementById('email');
input.addEventListener('blur', () => {
  // Check validity on blur (when user leaves field):
  if (!input.validity.valid) {
    input.reportValidity();
  }
});
</script>

สรุปคลาสเทียมสำหรับการตรวจสอบความถูกต้อง

คลาสเทียม CSS สำหรับการตรวจสอบแบบฟอร์ม:

  • :valid — ผ่านการตรวจสอบเงื่อนไข
  • :invalid — มีเงื่อนไขอย่างน้อยหนึ่งรายการไม่ผ่าน
  • :required — มีแอตทริบิวต์ required
  • :optional — ไม่มีแอตทริบิวต์ required
  • :in-range — ค่าอยู่ภายในช่วง min/max
  • :out-of-range — ค่าอยู่นอกช่วง min/max

ตรวจสอบอย่างรวดเร็ว

แอตทริบิวต์ใดจำกัดจำนวนอักขระสูงสุดในช่องป้อนข้อความ

สรุป: แอตทริบิวต์การตรวจสอบความถูกต้อง

สาระสำคัญของการตรวจสอบ HTML5:

  • required — ต้องกรอกข้อมูลในช่อง
  • pattern — ตรวจสอบกับนิพจน์ทั่วไป
  • min / max — ขอบเขตค่าสำหรับตัวเลข/วันที่/ช่วง
  • maxlength / minlength — ขอบเขตจำนวนอักขระ
  • step — ค่าการเพิ่มที่ใช้ได้
  • ใช้ CSS :valid / :invalid สำหรับการจัดรูปแบบ
เริ่มต้นได้ฟรี

เรียนรู้ HTML ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
40
บทเรียน
159

คำถามที่พบบ่อย

บทเรียน “required pattern min max และ maxlength” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “required pattern min max และ maxlength” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส HTML Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส HTML Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “required pattern min max และ maxlength”

เพิ่มข้อจำกัดการตรวจสอบในตัวให้กับช่องป้อนข้อมูลของแบบฟอร์ม คุณปฏิบัติ HTML Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน HTML Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน HTML Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “required pattern min max และ maxlength” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน HTML Academy นี้ได้ไหม

ได้ บทเรียน HTML Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. required pattern min max และ maxlength
  2. แอตทริบิวต์ novalidate
  3. พื้นฐาน Constraint Validation API
  4. ข้อแลกเปลี่ยนระหว่างการตรวจสอบด้วย HTML5 และ JavaScript
← กลับไปที่ HTML Academy