تابع جداسازی سه رقم در جی کوئری یا جاوا اسکریپت
اشاره کردیم که در کتابخانه جی کوئری تابعی برای اینکار یافت نکردیم پس یک تابع برای این کار خواهیم نوشت که کاربردی و در رویداد 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);
}
بیشتر بدانیم : تبدیل اعداد فارسی به انگلیسی با جی کوئری jquery