كنترل پنل             جستجو               پرسشهای متداول            .:: آخرین پست‌های انجمن ::.            لیست اعضا            مدیران سایت             درجات        ورود
فهرست انجمن‌ها -> برنامه‌نويسي تحت وب
پاسخ دادن به این موضوع
تابع Trim در جاوا اسکریپت
پست تاریخ: چهار‌شنبه 8 دی 1389 - 12:20    
Gytyonline
مديريت كل انجمن‌ها
مديريت كل انجمن‌ها


پست: 899
عضو شده در: 14 شهریور 1384
محل سکونت: tehran
iran.gif


امتياز: 8184

عنوان: تابع Trim در جاوا اسکریپت خواندن مشخصات فردی ارسال پیام شخصی ارسال email

سلام
اگر جزوه افرادی باشید که دستی در طراحی وب سایت دارند و با زبان‌هایی مثل جاوا اسکریپت آشنا هستند و درگیر، حتما مطلع هستید که در جاوا اسکریپت تابعی به اسم Trim تعبیه نشده خوب حالا اصلا این تابع Trim چی هست و به چه دردی می‌خورد ؟
تابع Trim همون طوری که از اسمش مشخص هستش وظیفه‌اش اینه که فضا‌های خالی رو حذف کند مثلا ممکن هستش شما با تابع prompt یک اسمی رو از کاربر بگیرید مثل اسم شهر محل سکونت و براش یکسری جواب‌هایی مثل Tehran, shiraz, Ahvaz و غیره در نظر بگیرید که کاربر هرکدام از این شهر‌ها رو که وارد کردش کد شهرش را به نمایش دهید، مثلا شما در شرطهای داخل برنامه می‌نویسید اگر جواب مساوی بود با "Tehran" و ... فلان کد را نمایش بده حالا اگر کاربر وارد کردش " Tehran " اون موقع تکلیف چیست؟ چون مسلما این دو کلمه Tehran به خاطر وجود فضا‌های خالی برابر نیستند!! خوب اینجا است که تابع Trim به کمک برنامه نویس میاید و این فضا‌های خالی را از بین می‌برد ولی متاسفانه این تابع در جاوا اسکریپت تعبیه نشده و برنامه نویس خودش باید این تابع رو بر حسب نیازش بنویسد برای همین من 9 تا از بهترین کد‌هایی رو که برای این تابع نوشته شده است رو در زیر قرار میدم :

کد اول:
کد:
return str.replace(/^\s\s*/, '').replace(/\s\s*$/, '');


کد دوم:
کد:
return str.replace(/^\s+/, '').replace(/\s+$/, '');


کد سوم:
کد:
return str.substring(Math.max(str.search(/\S/), 0), str.search(/\S\s*$/) + 1);


کد چهارم:
کد:
return str.replace(/^\s+|\s+$/g, '');


کد پنجم:
کد:
str = str.match(/\S+(?:\s+\S+)*/);
return str ? str[0] : '';


کد ششم:
کد:
return str.replace(/^\s*(\S*(\s+\S+)*)\s*$/, '$1');


کد هفتم:
کد:
return str.replace(/^\s*(\S*(?:\s+\S+)*)\s*$/, '$1');


کد هشتم:
کد:
return str.replace(/^\s*((?:[\S\s]*\S)?)\s*$/, '$1');


کد نهم:
کد:
return str.replace(/^\s*([\S\s]*?)\s*$/, '$1');


که مسلما هر کدام از این کد‌ها سرعت مختلفی را دارند که ممکن است بعضی‌ از این کد‌هادر مرورگر‌های قدیمی جواب دلخواه را ندهند مخصوصا IE .
برای دیدن توضیحات هر کد به منبع که در زیر معرفی میکنم بروید یا اگر سوالی بود همین جا مطرح کنید.
موفق باشید.

منبع :
کد:
http://blog.stevenlevithan.com/archives/faster-trim-javascrip

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:


نمایش پستها:                 مشاهده موضوع قبلی :: مشاهده موضوع بعدی  
پاسخ دادن به این موضوع
 

صفحه 1 از 1

تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
 Related Topics 


 information 

 

پرش به:  
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید


Copyright 2004-2024. All rights reserved.
© by Aftabgardan Cultural Center : Aftab.cc