Thep Excel

trim – ลบ whitespace หน้าและหลังข้อความ

trim() เป็น JavaScript string method มาตรฐานที่ใช้ได้ใน n8n สำหรับลบ whitespace characters ทั้งหมดออกจากต้นและท้ายข้อความ รวมถึงช่องว่างธรรมดา tab newline carriage return และ whitespace characters อื่นๆ ตามมาตรฐาน Unicode โดยช่องว่างตรงกลางข้อความจะไม่ถูกลบออก มีเฉพาะหน้าและหลังเท่านั้น

string.trim()

By ThepExcel AI Agent
18 December 2025

Function Metrics


Popularity
9/10

Difficulty
1/10

Usefulness
9/10

Syntax & Arguments

string.trim()

How it works

ทำความสะอาดข้อมูลจากฟอร์ม

ลบช่องว่างหน้า-หลังที่ผู้ใช้พิมพ์ผิดในฟอร์ม input เช่น username, email, หมายเลขโทรศัพท์

ปรับข้อมูล CSV และ Excel

ลบช่องว่างส่วนเกินจากข้อมูลที่ import จาก CSV หรือ Excel ก่อนนำไปใช้

Validate และทำความสะอาด credentials

ป้องกันปัญหาจากช่องว่างหน้า-หลังในอีเมล, username, หรือ API keys ก่อน authentication

ปรับข้อมูลจาก webhook และ API

ทำความสะอาดข้อมูลจาก external APIs ที่อาจส่งมาพร้อม whitespace ที่ไม่ต้องการ

Examples

ตัวอย่างที่ 1: ลบ whitespace พื้นฐาน
{{ ' Hello World '.trim() }}
ลบช่องว่างทั้งสองตัวที่อยู่หน้าข้อความและสองตัวที่อยู่หลังข้อความออกไป เหลือเฉพาะข้อความสะอาดคือ 'Hello World'
.
สังเกตว่าช่องว่างตรงกลางระหว่างคำว่า Hello กับ World จะไม่ถูกลบออกไปนะครับ 👌
.
**วิธีการทำงาน:**
1. ข้อมูลต้นฉบับ: ' Hello World ' มีช่องว่างรวมสี่ตัว
2. method trim() ลบ whitespace ออกจากหน้าและหลัง
3. ผลลัพธ์: 'Hello World' โดยช่องว่างตรงกลางยังคงอยู่
n8n Code:

{{ '  Hello World  '.trim() }}

Result:

Hello World

ตัวอย่างที่ 2: ทำความสะอาดข้อมูลฟอร์ม
{{ $json.username.trim() }}
สมมติว่าข้อมูลที่ได้รับคือ $json.username มีค่าเป็น ' john_doe ' ซึ่งเป็นกรณีที่ผู้ใช้พิมพ์ชื่อผู้ใช้โดยมีช่องว่างหน้าและหลังติดมาด้วย
.
**ข้อมูลต้นฉบับจากฟอร์ม:** ' john_doe '
**ผลลัพธ์หลังใช้ trim():** 'john_doe'
.
**การใช้งานใน n8n Workflow:**
1. Webhook node รับข้อมูลจากฟอร์ม
2. Code/Set node ทำความสะอาดด้วย {{ $json.username.trim() }}
3. ส่งข้อมูลสะอาดไปยัง database หรือ API
.
**ช่วยป้องกันปัญหาเหล่านี้:**
– Query ฐานข้อมูลล้มเหลวเพราะช่องว่างไม่ตรงกัน 😭
– Authentication ผิดพลาดเพราะ username ไม่match
– Records ซ้ำใน database เพราะ whitespace ต่างกัน
n8n Code:

{{ $json.username.trim() }}

Result:

john_doe

ตัวอย่างที่ 3: ลบ tab และ newline
{{ $json.description.trim() }}
สมมติว่าข้อมูลที่ได้รับคือ $json.description มีค่าเป็น '
\tProduct description

'
.
**ข้อมูลต้นฉบับ:** '
\tProduct description

'

หมายถึง newline (ขึ้นบรรทัดใหม่)
– \t หมายถึง tab (เว้นวรรค)
.
**ผลลัพธ์หลัง trim():** 'Product description'
.
**ประเภท whitespace ที่ trim() ลบได้:**
✅ ช่องว่างธรรมดา (Space)
✅ การเว้นวรรค (Tab)
✅ ขึ้นบรรทัดใหม่ (Newline)
✅ กลับหัวบรรทัด (Carriage return)
✅ ตัวอักษรช่องว่าง Unicode อื่นๆ
.
**เจอบ่อยกับข้อมูลจาก:**
– ฟอร์ม Textarea ที่มีการขึ้นบรรทัด
– ไฟล์ CSV ที่มี tabs คั่นข้อมูล
– Copy-paste ข้อความจากเอกสาร

n8n Code:

{{ $json.description.trim() }}

Result:

Product description

ตัวอย่างที่ 4: ทำความสะอาด array ด้วย map()
{{ $json.tags.map(tag => tag.trim()) }}
สมมติว่าข้อมูลที่ได้รับคือ $json.tags มีค่าเป็น [' javascript ', ' nodejs', 'n8n ']
.
**ข้อมูล array ต้นฉบับ:**
[
' javascript ', // มีช่องว่างทั้งหน้าและหลัง
' nodejs', // มีช่องว่างหน้า
'n8n ' // มีช่องว่างหลัง
]
.
**ผลลัพธ์หลังใช้ map(tag => tag.trim()):**
['javascript', 'nodejs', 'n8n']
.
**ขั้นตอนการทำงาน:**
1. map() วนลูปผ่านแต่ละ element ใน array
2. Arrow function (tag => tag.trim()) ลบ whitespace จากแต่ละตัว
3. ได้ array ใหม่ที่สะอาดพร้อมใช้งาน ✨
.
**ใช้ได้กับ:**
– Tags จาก form input
– Columns ของไฟล์ CSV
– Multi-select dropdowns
n8n Code:

{{ $json.tags.map(tag => tag.trim()) }}

Result:

["javascript", "nodejs", "n8n"]

ตัวอย่างที่ 5: Chain กับ toLowerCase() เพื่อ normalize ข้อมูล
{{ $json.email.trim().toLowerCase() }}
สมมติว่าข้อมูลที่ได้รับคือ $json.email มีค่าเป็น ' User@Example.COM '
.
**ลำดับขั้นตอนการทำงาน:**
1. ข้อมูลต้นฉบับ: ' User@Example.COM '
2. .trim() → ลบช่องว่าง → 'User@Example.COM'
3. .toLowerCase() → แปลงเป็นตัวเล็ก → 'user@example.com'
.
**กรณีที่เหมาะสม:**
✅ Normalize email ก่อนบันทึกลง database
✅ เปรียบเทียบอีเมลโดยไม่สนใจตัวพิมพ์ใหญ่เล็ก
✅ ป้องกัน duplicate accounts (User@Example.com ≠ user@example.com)
.
**ตัวอย่าง n8n Workflow:**
“`
Webhook node (รับ form data)

Code/Set node:
email: {{ $json.email.trim().toLowerCase() }}

HTTP Request node (บันทึกลง database)
“`
.
**Best Practice:** ควรใช้ .trim().toLowerCase() ร่วมกันเสมอสำหรับ:
– Email addresses
– Usernames
– API keys
– Search queries
.
ส่วนตัวผมแนะนำให้ทำ normalization แบบนี้ทุกครั้งที่รับข้อมูลจาก user นะครับ 😎
n8n Code:

{{ $json.email.trim().toLowerCase() }}

Result:

user@example.com

ตัวอย่างที่ 6: ใช้กับ conditional เพื่อ validate input
{{ $json.name.trim() === '' ? 'Name is required' : $json.name.trim() }}
สมมติว่าข้อมูลที่ได้รับคือ $json.name มีค่าเป็น ' ' ซึ่งเป็นเพียงแค่ช่องว่างเท่านั้น
.
**การใช้งาน Ternary operator:**
“`
$json.name.trim() === ''
? 'Name is required' // ถ้าว่างหลัง trim
: $json.name.trim() // ถ้ามีข้อมูลจริง
“`
.
**กรณีทดสอบ:**
– Input: ' ' (เฉพาะช่องว่าง)
→ หลัง trim() ได้ '' → ผลลัพธ์: 'Name is required'

– Input: ' John Smith '
→ หลัง trim() ได้ 'John Smith' → ผลลัพธ์: 'John Smith'

– Input: '' (string ว่าง)
→ หลัง trim() ได้ '' → ผลลัพธ์: 'Name is required'
.
**ใช้ใน IF Node:**
“`
{{ $json.name.trim().length > 0 }}
“`
– true → มีข้อมูล → Success path
– false → ว่างเปล่า → Error path
.
**ช่วยป้องกันปัญหา:**
❌ User ส่งเฉพาะช่องว่างมาโดยไม่มีข้อมูลจริง
❌ Empty form submissions
❌ Invalid form data
.
เคยเจอมั้ยครับว่า user กด space bar แล้วกด submit… แล้ว form ก็ผ่าน validation ไปเฉยๆ 😅

n8n Code:

{{ $json.name.trim() === '' ? 'Name is required' : $json.name.trim() }}

Result:

John Smith หรือ 'Name is required'

FAQs

trim() ลบ whitespace ประเภทไหนบ้าง?

trim() ลบ whitespace ได้ทุกประเภทออกจากหน้าและท้ายข้อความครับ:
.
✅ **ที่ลบได้:**
– ช่องว่างธรรมดา (Space)
– การเว้นวรรค (Tab)
– ขึ้นบรรทัดใหม่ (Newline)
– กลับหัวบรรทัด (Carriage return)
– เลื่อนหน้ากระดาษ (Form feed)
– เว้นวรรคแนวตั้ง (Vertical tab)
– ตัวอักษรช่องว่าง Unicode ทั้งหมด
.
❌ **ที่ไม่ลบ:** ช่องว่างตรงกลางข้อความ
.
**ตัวอย่าง:**
“`
‘ Hello World ‘.trim()
→ ‘Hello World’ (ช่องว่าง 2 ตัวตรงกลางยังอยู่)


\tText\r
‘.trim()
→ ‘Text’ (tab, newline, carriage return หายหมด)
“`

trim(), trimStart(), และ trimEnd() ต่างกันอย่างไร?

แต่ละ method ลบ whitespace คนละตำแหน่งกันครับ:
.
**trim()** – ลบทั้งหน้าและหลัง
“`
‘ text ‘.trim() → ‘text’
“`
.
**trimStart()** (alias: trimLeft()) – ลบเฉพาะหน้า
“`
‘ text ‘.trimStart() → ‘text ‘
“`
.
**trimEnd()** (alias: trimRight()) – ลบเฉพาะหลัง
“`
‘ text ‘.trimEnd() → ‘ text’
“`
.
**เลือกใช้ตามกรณี:**
– Form input → ใช้ trim() (ลบทั้งสองด้าน)
– Text formatting → ใช้ trimStart()/trimEnd()
– CSV parsing → ใช้ trim() (ป้องกันช่องว่างจากทั้งสองด้าน)
.
ส่วนใหญ่ผมจะใช้ trim() ธรรมดาเลยครับ เพราะปลอดภัยที่สุด 😎

trim() จะทำอะไรกับช่องว่างตรงกลาง?

trim() จะไม่ลบช่องว่างตรงกลางข้อความครับ ลบแค่หน้าและหลังเท่านั้น
.
**ตัวอย่าง:**
“`
‘Hello World’.trim() → ‘Hello World’ (ช่องว่าง 2 ตัวตรงกลางยังอยู่)
‘ First Last ‘.trim() → ‘First Last’ (ช่องว่างตรงกลางไม่ถูกลบ)
“`
.
**ถ้าต้องการลบช่องว่างตรงกลางด้วย:**
“`javascript
{{ $json.text.trim().replace(/\s+/g, ‘ ‘) }}
“`
.
**ขั้นตอน:**
1. trim() → ลบช่องว่างหน้าและหลัง
2. replace(/\s+/g, ‘ ‘) → แทนที่ช่องว่างหลายตัวด้วยช่องว่างเดียว
.
**ผลลัพธ์:**
“`
‘ Hello World ‘.trim().replace(/\s+/g, ‘ ‘)
→ ‘Hello World’ (เหลือช่องว่างตัวเดียว)
“`
.
เทคนิคนี้ใช้ได้ดีมากเวลาทำความสะอาดข้อมูลจาก CSV หรือ textarea ครับ 💡

trim() ใช้งานใน n8n Workflow อย่างไร?

trim() ใช้ใน n8n expressions ได้หลาย nodes ครับ:
.
**1. Code Node / Set node**
“`
{{ $json.username.trim() }}
{{ $json.email.trim().toLowerCase() }}
“`
.
**2. IF Node (Conditional)**
“`
{{ $json.name.trim().length > 0 }}
{{ $json.input.trim() === ‘admin’ }}
“`
.
**3. Function Node (JavaScript)**
“`javascript
const cleanedData = items.map(item => ({
…item,
name: item.json.name.trim(),
email: item.json.email.trim().toLowerCase()
}));
return cleanedData;
“`
.
**4. HTTP Request Node (Query parameters)**
“`
Query: search={{ $json.query.trim() }}
“`
.
**Common Patterns:**
– Form validation: เช็คว่า input ไม่ว่างหลัง trim
– Data cleaning: ทำความสะอาดก่อนส่ง API
– Array processing: ใช้ map() clean ทุก element
.
ส่วนตัวผมจะใส่ trim() ทุกครั้งที่รับข้อมูลจาก webhook เลยครับ ป้องกันปัญหาจากช่องว่างที่มองไม่เห็น 😎

trim() return ค่าประเภทอะไร?

trim() return string ใหม่เสมอครับ ไม่แก้ไข string เดิม (immutable)
.
**ตัวอย่าง JavaScript:**
“`javascript
const original = ‘ text ‘;
const cleaned = original.trim();

console.log(original); // ‘ text ‘ (ไม่เปลี่ยน)
console.log(cleaned); // ‘text’ (string ใหม่)
“`
.
**ใน n8n:**
“`
{{ $json.name.trim() }} // Return string ใหม่
{{ $json.name }} // String เดิมไม่เปลี่ยน
“`
.
**สิ่งที่ควรรู้:**
– trim() ไม่มี arguments (ไม่รับ parameters)
– Return type: string
– Return string ใหม่แม้ไม่มี whitespace ให้ trim
– Original string ไม่ถูกแก้ไข (immutable)
.
นี่คือเหตุผลว่าทำไม JavaScript ถึงปลอดภัย เพราะไม่ modify ข้อมูลต้นฉบับโดยไม่ตั้งใจ 👍

Resources & Related

Additional Notes

trim() เป็น JavaScript string method มาตรฐานที่ใช้ได้ใน n8n expressions สำหรับลบ whitespace characters ทั้งหมดออกจากต้นและท้ายข้อความ ไม่ว่าจะเป็นช่องว่าง tab หรือ newline
.
สิ่งที่ต้องรู้คือ trim() จะลบแค่หน้าและหลังเท่านั้นนะครับ ช่องว่างตรงกลางข้อความจะไม่ถูกลบออกไป 👌
.
method นี้จะ return string ใหม่โดยไม่แก้ไขต้นฉบับ เหมาะมากสำหรับทำความสะอาดข้อมูลจากฟอร์ม API หรือ CSV ก่อนนำไปใช้งาน
.
ส่วนตัวผมแนะนำให้ใช้ trim() ทุกครั้งที่รับข้อมูลจาก user input เลยครับ เพราะช่วยป้องกันปัญหาจากช่องว่างที่มองไม่เห็นได้เยอะ ทำให้ข้อมูลสะอาดพร้อมใช้งานในขั้นตอนถัดไป 😎

Leave a Reply

Your email address will not be published. Required fields are marked *