جدا کردن سه رقم سه رقم اعداد با jquery

گاهی اوقات نیاز می باشد که واحد پول را برای نمایش به کاربران در سایت سه رقم سه رقم از سمت راست جداکرده و نمایش دهیم مخصوصا زمانی که کاربر در حال تایپ کردن داخل یک input می باشد. جداسازی سه رقم سه رقم اعداد در jquery مثل php دارای یک تابع از قبل آماده شده نمی باشد برای جداسازی ارقام در جاوا اسکریپت یا جی کوئری ما خود یک تابع تعریف می کنیم که با نسبت دادن یک کلاس به input یا id یک input  جداسازی در هنگام تایپ کاربر در input انجام خواهد شد.

بهزاد میرزازاده بهزاد میرزازاده

زمان مطالعه

3 دقیقه

بازدید

2440

پرسش و پاسخ

0
جدا کردن سه رقم سه رقم اعداد با jquery

فهرست مطالب برای مطالعه

تابع جداسازی سه رقم در جی کوئری یا جاوا اسکریپت

اشاره کردیم که در کتابخانه جی کوئری تابعی برای اینکار یافت نکردیم پس یک تابع برای این کار خواهیم نوشت که کاربردی و در رویداد onkeyup فراخوانی خواهیم کرد تا با ورود هر کاراکتری این عملیات انجام شود یک تابع با نام دلخواه separateNum با دو آرگومان ورودی تعریف می کنیم کد این تابع به صورت ذیل خواهد بود:

function separateNum(value, input) {
        /* seprate number input 3 number */
        var nStr = value + '';
        nStr = nStr.replace(/\,/g, "");
        x = nStr.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');
        }
        if (input !== undefined) {

            input.value = x1 + x2;
        } else {
            return x1 + x2;
        }
    }

بعد از تعریف تابع مورد نظر برای جداسازی ارقام با جاوا اسکریپت باید این تابع را در رویداد onkeyup ورودی (input) خود تعریف کنیم پس به صورت ذیل عمل می کنیم:

<input type="text" onkeyup="separateNum(this.value,this);" name="price" id="price" placeholder="مثال : 10,000">

با این عملیات ساده در هنگام تایپ داخل input با نام price اعداد از سمت راست به صورت سه رقم سه رقم با کاما از هم جدا خواهند شد. تا اینجای کار ما عملیات جداسازی و گذاشتن در ورودی انجام شد حالا شاید بخواهید عملیاتی روی مقدار این input با جاوا اسکریپت یا کتابخانه جی کوئری انجام دهید. پس قبل از هرگونه عملیاتی باید کاما های موجود را حذف و عملیات خود مثل جمع، تفریق و ... را انجام دهید. برای مشخص شدن قضیه به مثال ذیل توجه کنید که می خواهیم مقدار این ورودی را گرفته و بدون کاما با یک پیغام alert نمایش دهیم:

function ex_normalNum(num) {
    num = num.replace(/,\s?/g, "");
    alert(num);
}