채택완료

자바스크립트 01 을 1로 표현

2023-08-01 (화) 11:54:05 2,953

Copy
var input = document.getElementById('wr_9');
        input.value = input.value.replace(',', '').trim();

위와 같은 코드인데, 01,444는 01444로 그대로 나오네요. 

콤마는 삭제 했는데, 앞에 0은 어떻게 삭제하나요?

$a = '0    1400';

위와 같은 경우도 중간에 빈칸이 삭제 안됨
 

|

답변 4개

채택된 답변
+20 포인트

문자열을 숫자로 바꾸시기는걸 원하시는 같네요.~~

삭제를 한다기 보다 숫자로 표현해보심이 어떨까요?

parseInt(input.value);
Number(input.value);

요렇게 2개 함수를 이용해보셔서 적절한 숫자만 나오는걸로 확인해보시면 좋을꺼 같습니다.

Copy
<script>
function fn_convert_to_num(selector) {
    const numtxt = document.querySelectorAll(selector);
    numtxt.forEach((el, i) => {
        const val = el.value.replace(/[^\d]/g, '');
        el.value = Number(val);
    });
}
</script>

<ul>
    <li><input type="text" class="numtxt" name="wr_1" value="12,345"></li>
    <li><input type="text" class="numtxt" name="wr_2" value="012,345"></li>
    <li><input type="text" class="numtxt" name="wr_3" value="12, 345"></li>
    <li><input type="text" class="numtxt" name="wr_4" value="001,234 5"></li>
    <li><input type="text" class="numtxt" name="wr_5" value="123,45"></li>
    <li><input type="text" class="numtxt" name="wr_6" value="00012   345"></li>
    <li><input type="text" class="numtxt" name="wr_7" value="1234,5"></li>
    <li><input type="text" class="numtxt" name="wr_8" value="00,0 012345"></li>
    <li><input type="text" class="numtxt" name="wr_9" value="12 3 4 5"></li>
</ul>
<input type="button" onclick="fn_convert_to_num('.numtxt')" value="convert">
2023-08-01 (화) 12:53:11

input.value = input.value.replace(/^[0]+/, '').replace(',', '').trim();

요렇게 요렇게 고우~화이팅!

2023-08-01 (화) 12:38:15

input.value = Number(input.value.replaceAll(',', '').replaceAll(' ', ''));

답변을 작성하려면 로그인이 필요합니다.