تبدیل اعداد انگلیسی به فارسی و برعکس در JS

بعضی وقتها در طراحی صفحات وب برای شما پیش میاد که شما باید اعدادی را نمایش دهید که تبدیل آنها در سمت سرور امکان پذیر نباشد.

به طور مثال وقتی که میخواهید یه سبد خریدی که در سمت کاربر (Client) را پیاده سازی کنید در این حالت شما هم به مقدار عددی به صورت انگلیسی نیاز دارید و هم میخواهید اعداد را به صورت فارسی نمایش دهید.

 

برای انجام این کار کافیست دو متد زیر را در کدهای جاوا اسکریپت انتهایی صفحه اضافه کنید. هر دو متد ورودی به صورت رشته دریافت کرده و به صورت رشته آن را به شما برمیگرداند.


function convertNumbers2English(input) {
     var persianDigits = "۰۱۲۳۴۵۶۷۸۹";
     return input.replace(/[\u06F0-\u06F90]/g, function(m){
          return persianDigits.indexOf(m);
          });
      }

function convertNumbers2Persian(input) {
     var persianDigits = "۰۱۲۳۴۵۶۷۸۹";
     var persianMap = persianDigits.split("");
     return input.replace(/\d/g,function(m){
          return persianMap[parseInt(m)];
          });
     }

console.log(convertNumbers2English("۷۸۹")) //نمایش به صورت 789
console.log(convertNumbers2English("123")) //نمایش به صورت ۱۲۳

نظرات

برای نظر دادن کافیست وارد حساب کاربری خود شوید.