22 lines
No EOL
738 B
JavaScript
22 lines
No EOL
738 B
JavaScript
function convertPersianToEnglish(value) {
|
||
const persianNumbers = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
|
||
const englishNumbers = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
|
||
|
||
for (let i = 0; i < persianNumbers.length; i++) {
|
||
value = value.replace(new RegExp(persianNumbers[i], 'g'), englishNumbers[i]);
|
||
}
|
||
|
||
return value;
|
||
}
|
||
|
||
function formatNumber(input) {
|
||
let value = convertPersianToEnglish(input.value);
|
||
// Remove any existing thousand separators and non-digit characters
|
||
value = value.replace(/,/g, '').replace(/\D/g, '');
|
||
|
||
// Add thousand separators
|
||
value = value.replace(/\B(?=(\d{3})+(?!\d))/g, ',');
|
||
|
||
// Update the input value
|
||
input.value = value;
|
||
} |