Community Patterns

1

ตรวจสอบพยัญชนะต้นตัวสะกดสระและวรรณยุกต์ไทย

Created·2026-01-22 01:36
Updated·2026-01-23 12:42
Flavor·ECMAScript (JavaScript)
ตรวจสอบพยัญชนะต้น (ต้องมี) ตรวจตัวสะกดสำหรับสระที่ต้องมี ตรวจสอบการวางสระและวรรณยุกต์ไทย หมายเหตุ การตรวจสอบตัวสะกดในภาษาไทยตรวจสอบได้ยากเพราะภาษาไทยเป็นภาษาที่เขียนติด ๆ กันไม่มีการแบ่งคำอย่างชัดเจนทำให้การอ่านภาษาไทยผู้อ่านต้องใช้ความหมายของคำในการตัดสินการอ่านแบ่งคำตามความเหมาะสมเช่นคำว่า "ตากลม" อาจอ่านเป็น "ตาก-ลม" ก็ได้ หรืออ่านเป็น "ตา-กลม"ก็ได้ ดังนั้นการเขียน Regex เพื่อทำการตรวจสอบอาจช่วยได้ระดับหนึ่ง อ่าจมีผิดบ้างถูกบ้าง แต่ก็ถือว่าเป็นเครื่องมือที่ใช้ช่วยเหลือในการตรวจสอบเพิ่มเติมได้ 80% ของความเป็นไปใด้ก็แล้วกันนะครับ หวังว่าการเขียนเพิ่มเติมส่วนนี้ จะมีประโยชน์บ้างไม่มากก็น้อย
Submitted by อธิปัตย์ ล้อวงศ์งาม

Community Library Entry

2

Regular Expression
Created·2026-01-21 16:32
Updated·2026-01-21 16:36
Flavor·ECMAScript (JavaScript)

/
^[A-Za-z0-9][A-Za-z0-9_+&*-]*(?:\.[A-Za-z0-9_+&*-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,63}$
/
Open regex in editor

Description

This regular expression provides a balance between RFC compliance and security-best-practices. It is designed to prevent injection vectors in legacy systems by using a restricted "safe" character subset recommended by the OWASP Validation Regex Repository.

Pattern:

^[A-Za-z0-9][A-Za-z0-9_+&*-]*(?:\.[A-Za-z0-9_+&*-]+)*@(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,63}$

Key Features:

  • Forced Alphanumeric Start: Prevents leading hyphens to avoid command injection vulnerabilities.
  • Security Subset: Restricts special characters to _+&*- to prevent exotic character injections (e.g., pipes or backticks).
  • No Quoted Strings: Forbids quoted strings to eliminate dangerous payloads containing spaces or backslashes.
  • DNS Compliance: Enforces label lengths (1–63 characters) and prevents labels from starting or ending with hyphens.
  • Whole String Anchoring: Uses ^ and $ to ensure the entire input is validated.
Submitted by Gor Sargsyan