input태그에 소수점 둘째자리까지만 받고 싶었다. input number 타입을 쓰고 step=”0.01”을 쓰는 방법도 있지만 input타입을 text로 써야하는 상황이라 그냥 정규식을 사용했다.
숫자 소수점 둘째짜리만 입력허용하는 경우
1
| <input type="text" id="price" val="0" />
|
1 2 3 4 5 6
| $("#price").keyup(function(){ let price = $(this).val(); const regex = /(^/d+$)|(^d{1,}.\d{0,2}$)/g; let resultPrice = price.replace(regex, ""); $(this).val(resultPrice); });
|
숫자입력만 허용하는 경우
1
| <input type="text" id="price" val="0" />
|
1 2 3 4 5 6
| $("#price").keyup(function(){ let price = $(this).val(); const regex = /[^0-9]/g; let resultPrice = price.replace(regex, ""); $(this).val(resultPrice); });
|
이렇게 처리한다면 input태그에 숫자가 아닌 문자는 입력이 아예 안된다!