با کمک این کدهای جاوااسکریپت میتوانید عددها را سه رقم، سهرقم با کمک ویرگول از یکدیگر جدا کنید:
function addComma( str ) { var objRegex = new RegExp( '(-?[0-9]+)([0-9]{3})' ); while( objRegex.test( str ) ) { str = str.replace( objRegex, '$1,$2' ); } return str; } |
تابع زیر هم میتواند برای حذف ویرگول از عددها مورد استفاده قرار بگیرد:
تابع به شکل کوتاهتر توسط دوست گرامی جناب «فواد» در کامنتها:
function removeComma( str ) { return str.replace( /,/g, '' ); } |
شکل قدیمی و بلندتر:
function removeComma( str ) { var myString = '', chrCode; for( var i = str.length - 1; i >= 0; --i ) { chrCode = str.charCodeAt( i ); // 44 = comma if( chrCode != 44 ) { myString = String.fromCharCode( chrCode ) + myString; } } return myString; } |
برای آنکه یک فیلد متنی در هنگام خروج مکاننما به صورت خودکار اعداد را جدا کند و در هنگام ورود مکاننما عدد را به صورت عادی برگرداند از کدهای موجود در مثال زیر استفاده کنید:
<input type="text" onblur="this.value = addComma( this.value );" onfocus="this.value = removeComma( this.value );" /> |
thanks a lot
سپاس از اسکریپت جالب و کاربردیتون
بهترین کد و کوتاه ترین کدی بود که دیدم.
سلام آقا امیر… ممنون از اسکریپتت
این متد دومی رو میشه خلاصه ترش کرد:
با سلام و سپاس
تابع شما رو در متن اصلی هم قرار دادم
کد بسار مفید و جالبی بود.یه سوالی هم داشتم.چطوری میتونم اعداد یا کاراکترهایی مثه [ را جایگزین یه سری دیگه بکنم؟
با سلام
برای جایگزین کردن یک رشته با یک رشتهی دیگر از دستور replace استفاده میشود
برای مشاهدهی راهنمای این دستور به این صفحه مراجعه کنید
خیلی کمک کرد، ممنون
با سلام
من می خوام Function AddCama با Onkeyup کار کنه اگه میشه لطفا راهنمایی کنید
سلام
این تابع برای کاری که شما میخواهید انجام بدهید مناسب نیست
چون کنترلی روی محل مکاننما نداره
برای کار شما باید تغییراتی توی کد داده بشه که متاسفانه بنده الان فرصت کافی برای این کار ندارم
با سپاس
ممنون عالی بود
با تشکر، کد کار راه اندازی بود ، مرسی
یک عاااالمه مرسییی
خسلییی کمک کردید
نمیدونم چرا تو دیتابیس فقط سه رقم رو ذخیره میکنه
اگر فیلد شما در پایگاه داده، عددی باشد، وقتی اولین ویرگول را مشاهده میکند، ادامه را بررسی نمیکند و تصور میکند که عدد همان سه رقم اول بوده است
باید قبل از ذخیرهسازی ویرگولها را حذف کنید
دم شما گرم. خیلی عالی بود.
فقط اسکریپت اول که برای اضافه کردن کاما هست برای من یک مشکل داشت و پیغام خطا میداد که .replace رو نمیشناسه! با کمی جستجو متوجه شدم ظاهرا مشکل از اونجاست که متغیر str رو بعنوان یک string دریافت نمیکنه و به همین خاطر خطا میده. به همین خاطر با اضافه کردن دستور toString() قبل از دستور .replace() مشکلم حل شد.
str = str.toString().replace( objRegex, ‘$1,$2′ );
ممنونم عالی بود