“00001234” 같이 숫자인데 문자열로 되어있는 경우가 있습니다. 문제는 앞에 0000 같은 무의미한 0이 포함되어있는 것입니다. 무의미한 앞자리 0을 제거하려면 어떻게 해야할까요? 예제를 통해서 0을 제거하는 방법에 대해서 알아보겠습니다.

1. Number로 앞자리 0 제거

Number(str)는 문자열 str을 number 타입 변수로 변환합니다. number 타입으로 변환하면서 앞자리 0은 모두 제거됩니다. string 타입이 필요하다면, number.toString()으로 number를 string 타입으로 변환할 수 있습니다.

let strNum = "00001234";

let num = Number(strNum);
let str = num.toString();

console.log(num); // 1234
console.log(str); // "1234"

Output:

1234
1234

2. parseInt()로 앞자리 0 제거

parseInt(str, 10)는 문자열 str을 10진수로 파싱하며, number 타입의 객체 리턴합니다. string 타입이 필요하다면, number.toString()으로 number를 string 타입으로 변환할 수 있습니다.

let strNum = "00001234";

let num = parseInt(strNum, 10);
let str = num.toString();

console.log(num); // 1234
console.log(str); // "1234"

Output:

1234
1234

3. 정규표현식으로 앞자리 0 제거

정규표현식을 사용하여 앞자리 0을 찾을 수 있고, 이 문자들을 제거할 수 있습니다.

앞자리 0을 찾는 정규식 패턴은 ^0+로, ^는 문자열 시작을 의미하고 0+는 문자 0이 1개 이상 반복되는 것을 의미합니다. 이렇게 문자열 앞에서 반복되는 0을 찾고 replace()로 빈문자열로 변환하여 제거할 수 있습니다.

  • replace(pattern, repl) : pattern에 해당하는 문자열을 repl로 변환, 패턴은 /pattern/으로 입력
let strNum = "00001234";

let str = strNum.replace(/^0+/, "");
let num = Number(str);

console.log(str); // "1234"
console.log(num); // 1234

Output:

1234
1234