NormalizeNumber.js 859 B

12345678910111213141516171819202122
  1. export default class NormalizeNumber {
  2. static e2p (s) { return s.replace(/\d/g, d => '۰۱۲۳۴۵۶۷۸۹'[d]) }
  3. static e2a (s) { return s.replace(/\d/g, d => '٠١٢٣٤٥٦٧٨٩'[d]) }
  4. static p2e (s) { return s.replace(/[۰-۹]/g, d => '۰۱۲۳۴۵۶۷۸۹'.indexOf(d)) }
  5. static a2e (s) { return s.replace(/[٠-٩]/g, d => '٠١٢٣٤٥٦٧٨٩'.indexOf(d)) }
  6. static p2a (s) { return s.replace(/[۰-۹]/g, d => '٠١٢٣٤٥٦٧٨٩'['۰۱۲۳۴۵۶۷۸۹'.indexOf(d)]) }
  7. static a2p (s) { return s.replace(/[٠-٩]/g, d => '۰۱۲۳۴۵۶۷۸۹'['٠١٢٣٤٥٦٧٨٩'.indexOf(d)]) }
  8. static toEnglish (s) {
  9. return NormalizeNumber.a2e(NormalizeNumber.p2e(s))
  10. }
  11. static toPersian (s) {
  12. return NormalizeNumber.a2p(NormalizeNumber.e2p(s))
  13. }
  14. static toArabic (s) {
  15. return NormalizeNumber.e2a(NormalizeNumber.p2a(s))
  16. }
  17. }