동도리 개발 로그

정규식 Invalid regular expression 에러 - safari/iOS 본문

개발/React, RN

정규식 Invalid regular expression 에러 - safari/iOS

동돌이 2022. 2. 10. 09:56
반응형

증상

React로 된 웹 페이지에서

크롬, 안드로이드에서는 문제 없이 보여지지만

safari와 아이폰에서 확인하였을때 뜨지않는 오류가 발생하였다. 

SyntaxError: Invalid regular expression: invalid group specifier name

 

원인

숫자에 콤마, 포메팅하는 정규표현식에 Safai와 iOS에 지원이 되지 않는 부분이 포함되어있었다. 

https://stackoverflow.com/questions/58460501/js-regex-lookbehind-not-working-in-firefox-and-safari

 

JS Regex lookbehind not working in firefox and safari

I have this following regex which is working in chrome but causes an error in firefox or safari. I need to modify it to make it work. Can anybody help out a poor soul? Thanks in advance! regex: /(...

stackoverflow.com

lookbehid가 허용되지 않는다고한다. 

 

해결

//기존
function priceToString(price) {
  return price.toString().replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ",");
}

//수정
function priceToString(price) {
  const parts = price.toString().split(".");
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  return parts.join(".");
}

 

브라우저별로 확인을 해보고 배포하자

반응형

'개발 > React, RN' 카테고리의 다른 글

React 시작하기  (0) 2019.11.22
리액트(React)란?  (0) 2019.11.22