Regular Expressions 101

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

1

Regular Expression
Created·2024-08-25 15:52
Updated·2024-08-26 08:27
Flavor·ECMAScript (JavaScript)

/
^[a-z0-9]+(?:[.\-_'+][a-z0-9]+)*@([a-z0-9]+(?:[-][a-z0-9]+)*\.)+[a-z]{2,}$
/
igm
Open regex in editor

Description

"/" - start of regular expression "^" - anchor to beginning of string

Group: [a-z0-9]+ "[a-z0-9]" - Latin character or digit "+" - occurring ONE or more times

Group: (?:[.-][a-z0-9]+)* "(" - start of group "?:[.-_'+][a-z0-9]" - first character of group is allowed to be single character "." OR "-", followed by Latin character or digit "+" - occurring ONE or more times ")" - end of group "*" - group occurs ZERO or more times

"@" - mandatory single at sign

Second-level domain group and below: ([a-z0-9]+(?:[-][a-z0-9]+).)+ "(" - start groups "[a-z0-9]" - Latin character or digit "+" - occurring one or more times "(" - beginning of subgroup "?:[-][a-z0-9]" - single hyphen mandatory for subgroup, followed by Latin character or digit "+" - one or more times ")" - end of subgroup "" - subgroup occurs ZERO or more times "." - mandatory single dot ")" - end of group "+" - occurring ONE or more times

Top-level domain group: [a-z]{2,}$ "[a-z]" - Latin character "{2,}" - occurring TWO or more times

"$" - anchor to end of line "/" - end of regular expression "i" - expression case-insensitive flag (makes ranges [a-z] and [a-zA-Z] equivalent)

"gm" - only for success validation multiline in Test string section, these flags not needed in checking once string value

Submitted by Diableros [https://github.com/Diableros]