اضافه کردن کاما فیلد مبلغ با جاوا اسکریپت
یکی از دغدغههای طراحان وب تازه کار در پروژههایی که با فیلدهای مبلغ و قیمت سروکار دارند. جدا کردن سه رقم سه رقم مبلغها است که خوانایی صفحات آنها را بالاتر ببرد؛ در این نوشته قصد آموزش راهی بسیار ساده برای جدا کردن سه رقم سه رقم فیلد مبلغ در جاوا اسکریپت را داریم.
اضافه کردن خوکار کاما در فیلد مبلغ با جاوا اسکریپت
موضوع آموزش
اضافه کردن کاما خودکار در فیلدهای مبلغ جاوا اسکریپت. (جدا کردن سه رقم سه رقم فیلد مبلغ در جاوا اسکریپت)
کد:
<html> <head> <script type="text/javascript" language="javascript"> function autocomma(number_input) { number_input += ''; number_input = number_input.replace(',', ''); number_input = number_input.replace(',', ''); number_input = number_input.replace(',', ''); number_input = number_input.replace(',', ''); number_input = number_input.replace(',', ''); number_input = number_input.replace(',', ''); x = number_input.split('.'); x1 = x[0]; x2 = x.length > 1 ? '.' + x[1] : ''; var rgx = /(\d+)(\d{3})/; while (rgx.test(x1)) x1 = x1.replace(rgx, '$1' + ',' + '$2'); return x1 + x2; } </script> </head> <body> <form> <input name="amount_field" type="text" value="" onkeyup = "javascript:this.value=autocama(this.value);" > </form> </body> </html>
نکته: این کد یک ایراد کوچکی که دارد این است که بعد از دریافت مقدار از ورودی شما باید کاراکترهای کاما را از ورودی حذف کرده تا به عدد صحیحی برسید در غیر اینصورت یک رشتهای بلااستفاده دارید. در زبان پی اچ پی به صورت زیر میتوانید کاراکتر کاما را حذف کنید:
$amount_field = str_replace(',','',$_POST[amount_field]);
توضیحات
- کدهای بالا به زبان اچتیامال و جاوا اسکریپت است.
- کد فوق آماده است شما میتوانید آن را در کنار پروژهی خود قرار داده و از آن استفاده کنید.
- با استفاده از کد بالا به راحتی میتوانید فیلدهای مبلغ را سه رقم سه رقم از سمت چپ جدا کرده و زیبایی بصری خاصی به آنها بدهید.
خب کد بالا میتواند مرجع شما برای نوشتن یک نرمافزار هوشمندتر شود؛ در صورتی که این کدها را کاملتر کردید یا از روشهای بهینهتری استفاده میکنید نسخهای کاملتر از این کدها را برای ما ارسال کنید تا دیگران هم بتوانند از آن استفاده کنند.
نظرات خود را در ارتباط با آموزش “اضافه کردن کاما فیلد مبلغ با جاوااسکریپت” برای ما ارسال کنید.
خیلی عالی بود .
البته راه ساده تری هم داره
const currencyFormatter = (number) => new Intl.NumberFormat( ‘en-US’ ).format( number )
از اینکه راه حل خودتون رو در بخش نظرات نوشتید متشکریم
سلام کد بالا رو کدوم قسمت از قالب وارد کنیم؟
کدهای داخل تگ head را داخل تگ head قالب خودتون قرار بدین و تگ input که برای تست گذاشته شده رو به حالتی که در مثال هست در قالبتون جای گذاری کنید.
سلام.ببخشید این کد برای من کار نمیکنه.همه چیز رو هم درست کپی کردم.مشکل از کجاست؟ممنون.
احتمالا جاوااسکریپت توی مرورگرتون غیرفعال هست در غیر اینصورت کد بالا قبلا تست شده الان هم دوباره تست شد و بدون مشکل کار میکنه
salam,
mersi estefade kardim
faghat line 6, 7 ro mitunid be in code taghyir bedid:
number_input = number_input.split(‘,’).join(”);
va hamintor be jaye line 9, 10:
x1 = x[0].replace(/\D/g,”);
x2 = x.length > 1 ? ‘.’ + x[1].replace(/\D/g,”) : ”;
چون هدف آموزش بود به شکل ساده نوشته شد که معلوم باشه در حال انجام چه کاری هستیم کد شما هم خوب هست مرتب تر و تمیزتر میشه
مرسی بابت پیشنهادتون
عالی
خیلی ممنونم