ভূমিকা
স্ট্রিংয়ের শুরু এবং শেষে থাকা হোয়াইটস্পেস (whitespace) মুছে ফেলার জন্য JavaScript-এ `replace()` মেথড এবং রেগুলার এক্সপ্রেশন (Regex) ব্যবহার করা হয়। এটি `trim()` মেথডের ম্যানুয়াল ইমপ্লিমেন্টেশন।
সম্পূর্ণ কোড
function removeSpacesAtTheBeginningAndTheEnd(name) {
return name.toString().replace(/^\s+|\s+$/g, '');
}
var fullName = " John Smith ";
var valueAfterRemovingSpace = removeSpacesAtTheBeginningAndTheEnd(fullName);
console.log(valueAfterRemovingSpace);
Regex ব্যাখ্যা: `/^\s+|\s+$/g`
| প্যাটার্ন | অর্থ |
|---|---|
| `^` | স্ট্রিংয়ের শুরু |
| `\s+` | এক বা একাধিক হোয়াইটস্পেস (স্পেস, ট্যাব, নিউলাইন) |
| `|` | OR অপারেটর |
| `\s+$` | স্ট্রিংয়ের শেষে এক বা একাধিক হোয়াইটস্পেস |
| `g` | গ্লোবাল ফ্ল্যাগ (সব মিল রিপ্লেস) |
আউটপুট
John Smith
বিকল্প পদ্ধতিগুলো
১. বিল্ট-ইন trim() (সেরা ও স্ট্যান্ডার্ড)
const trimmed = " John Smith ".trim(); // "John Smith"
const trimStart = " John Smith ".trimStart(); // "John Smith "
const trimEnd = " John Smith ".trimEnd(); // " John Smith"
২. Regex variants
// শুধু শুরুর স্পেস
str.replace(/^\s+/, '')
// শুধু শেষের স্পেস
str.replace(/\s+$/, '')
// সব স্পেস (মাঝপথেরও)
str.replace(/\s+/g, '')
// শুধু স্পেস ক্যারেক্টার (ট্যাব/নিউলাইন না)
str.replace(/ +/g, '')
৩. Polyfill for trim (পুরানো ব্রাউজার)
if (!String.prototype.trim) {
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
}
ব্যবহারিক উদাহরণ
// ইউজার ইনপুট স্যানিটাইজেশন
const sanitizeInput = (input) =>
input.trim().replace(/\s+/g, ' '); // মাঝপথের মাল্টিপল স্পেস সিঙ্গলে
console.log(sanitizeInput(" hello world ")); // "hello world"
// ফরম ভ্যালিডেশন
const isValidName = (name) => name.trim().length > 0;
Regex প্যাটার্ন চিট শিট
| প্যাটার্ন | ম্যাচ করে |
|---|---|
| `\s` | যেকোনো হোয়াইটস্পেস (space, tab, newline) |
| `\S` | নন-হোয়াইটস্পেস |
| `\d` | ডিজিট (0-9) |
| `\w` | ওয়ার্ড ক্যারেক্টার (a-z, A-Z, 0-9, _) |
| `^` | স্ট্রিং শুরু |
| `$` | স্ট্রিং শেষ |
সারাংশ
আধুনিক JavaScript-এ **`String.prototype.trim()`** ব্যবহার করুন। Regex শিখতে বা লিগ্যাসি সাপোর্টের জন্য `/^\s+|\s+$/g` প্যাটার্ন জানা ভালো। `replace()` মেথডে Regex দিয়ে পাওয়ারফুল স্ট্রিং ম্যানিপুলেশন সম্ভব।