본문으로 바로가기

[JS/TS] 서아라비아, 동아라비아 숫자 변환하기

숫자 종류 확인하기

숫자에도 종류가 있는 것을 아시나요?

  • 서아라비아 : 0~9
  • 동아라비아 : ٠,١,٢,٣,٤,٥,٦,٧,٨,٩ (아랍 문자)

입니다.

따라서 이집트와 같이 동아라비아 숫자를 사용하는 국가의 경우 따로 변환 작업이 필요합니다.
편의상 서아라비아 숫자는 아라비아 숫자, 동아라비아 숫자는 아랍 숫자라고 표기하겠습니다.

아라바이, 아랍 숫자 변환하기

변환하는 방법은 간단합니다.

const ARABIC_TO_ARABIA: { [index: number]: string } = {
  1: "١",
  2: "٢",
  3: "٣",
  4: "٤",
  5: "٥",
  6: "٦",
  7: "٧",
  8: "٨",
  9: "٩",
  0: "٠",
};

const ARABIA_TO_ARABIC: { [index: string]: string } = {
  "١": "1",
  "٢": "2",
  "٣": "3",
  "٤": "4",
  "٥": "5",
  "٦": "6",
  "٧": "7",
  "٨": "8",
  "٩": "9",
  "٠": "0",
};

const convertArabicToArabia = (string: string) => {
  return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
    return ARABIA_TO_ARABIC[match];
  });
};

const convertArabiaToArabic = (string: string) => {
  return string.replace(/\d/g, function (match) {
    return ARABIC_TO_ARABIA[Number(match)];
  });
};

위처럼 정규식을 사용해주시면 됩니다.

convertArabiaToArabic 함수는 아랍 숫자아라비아 숫자로 변환하는 함수입니다.
convertArabiaToArabic 함수는 아라비아 숫자아랍 숫자로 변환하는 함수입니다.

상황에 맞게 사용하시면 됩니다.

반응형