required pattern min max และ maxlength
เพิ่มข้อจำกัดการตรวจสอบในตัวให้กับช่องป้อนข้อมูลของแบบฟอร์ม
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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- required pattern min max และ maxlength
- แอตทริบิวต์ novalidate
- พื้นฐาน Constraint Validation API
- ข้อแลกเปลี่ยนระหว่างการตรวจสอบด้วย HTML5 และ JavaScript