반응형
IOS 크롬 에러 발생 (PC는 정상 작동할 때)
전에 블로그 포스팅 중 천의 자리 콤마를 찍는 자바스크립트 정규식을 공유했었다.
https://ordinary-code.tistory.com/128
최근에 서비스 배포 후 모바일에서 페이지가 정상적으로 작동하지 않는다는 내용이 접수되어
처음에 vue router 문제인지, 아니면 redirect문제인지 여러 방면으로 삽질을 했었는데,
상상하지도 못했던 문제는 바로 정규식 때문이라는 점!
https://kunkunwoo.tistory.com/213
진짜 하루 넘게 삽질을 했었는데 나에게 발견된 강 같은 블로그 글로 다행히 에러를 해결했다.
오류는 아래와 같았다.
SyntaxError: Invalid regular expression: invalid group specifier name
완전히 상상도 못 했던 정체가 바로 정규식 때문이었다니..
문제가 되었던 코드는 아래와 같다.
numberFormat (value, numFix) => {
value = parseFloat(value);
if (!value) return '0';
return value.toFixed(numFix).replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ',');
},
해당 코드는 천의 자리에서 콤마를 찍을 때 이용하는 정규식이었는데,
해당 정규식이 모바일 Safari(사파리)와 크롬의 브라우저 엔진에서는 돌아가지 않는 코드였다고 한다.
혹시 PC에서는 정상적으로 코드가 작동을 하는데,
모바일에서 코드가 갑자기 멈춰버린다면
그리고 안드로이드에서는 정상작동이 되는데
IOS에서만 동작을 안 한다면 동작이 안 하는 정규식을 사용을 한 코드가 있는지를 확인해보도록 하자
반응형
'FrontEnd > Javascript' 카테고리의 다른 글
[Javascript] Math 객체를 이용해서 랜덤 값 만들기(Math.random) (0) | 2022.03.14 |
---|---|
[javaScript]JSON 과 javascript의 Object 차이 바로 알기 (0) | 2022.03.07 |
[Javascript] 자바스크립트 표현식 비구조화할당(Destructuring assignment) 이해하기 (0) | 2021.09.12 |
[JavaScript/Vue] 자바스크립트로 크롬 전체 화면 실행 및 종료하기 (0) | 2021.05.25 |
[node] 노드 버전 확인과 설치된 npm 특정 버전 확인하는 방법 (0) | 2021.05.19 |