Javascript

천단위 콤마 처리(브라우저 호환성 포함)

하이바네 2022. 5. 14. 01:32
반응형

천단위 콤마 처리 샘플 코드

//비용 콤마 처리
$('.price').on('keyup',function(){
    var check = /^[0-9]+$/; 
    var price = $(this).val().replace(/,/g, "");

    if(!check.test(price) && price != ""){
        alert('숫자만 입력 가능합니다.');
        price = price.replace(/[^0-9]/g,"");//숫자만 남기기
    }

    //$(this).val(price.replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ","));//콤마 처리
    $(this).val(price.replace(/\B(?=(\d{3})+(?!\d))/g, ','));//safari에서 정상 동작
    
});

사파리에서 코드에서 에러가 발생하여 동작하지 않는 문제 확인..

 

정확히는 Invalid regular expression 라는 문구가 발생하였었다.

 

lookbehind라는 문법을 사용해서 발생했던 문제;;

728x90