간단하게 숫자만 입력할 수 있게
Client Side/Jquery2023. 12. 3. 18:18
//숫자만
$(document).on("keyup","input:text[numberOnly], input[type='number'][numberOnly]", function(event) {
event = event || window.event;
var keyCode = event.which || event.keyCode;
if (keyCode == 9 || keyCode == 16 || ( 36 < keyCode && keyCode < 41 )) return;
var cursor = {start:$(this)[0].selectionStart,end:$(this)[0].selectionEnd,len:$(this).val().length}
$(this).val($(this).val().replace(/[^0-9]/g,""));
var gap = parseFloat($(this).val().length) - parseFloat(cursor.len);
$(this).setCursorPosition(cursor.start + gap);
});
//실수만 콤마 찍히게
$(document).on("keyup","input:text[floatFormat]", function(event) {
event = event || window.event;
var keyCode = event.which || event.keyCode;
if (keyCode == 9 || keyCode == 16 || ( 36 < keyCode && keyCode < 41 )) return;
var cursor = {start:$(this)[0].selectionStart,end:$(this)[0].selectionEnd,len:$(this).val().length}
var value = $(this).val();
value = no_comma(value);
if(value.indexOf(".") > 0 && (value.length - value.indexOf(".")) > 3)
value = parseFloat(value).toFixed(2);
$(this).val(float_format(value.replace(/[^0-9\.]/g,"")));
var gap = parseFloat($(this).val().length) - parseFloat(cursor.len);
$(this).setCursorPosition(cursor.start + gap);
});
//숫자만 콤마 찍히게
$(document).on("keyup","input:text[numberFormat]", function(event) {
event = event || window.event;
var keyCode = event.which || event.keyCode;
if (keyCode == 9 || keyCode == 16 || ( 36 < keyCode && keyCode < 41 )) return;
var cursor = {start:$(this)[0].selectionStart,end:$(this)[0].selectionEnd,len:$(this).val().length}
var value = $(this).val();
value = no_comma(value);
/*var minus = value.substring(0, 1);
$(this).val((minus=="-"?"-":"")+number_format(value.replace(/[^0-9]/g,"")));
*/
$(this).val(number_format(value.replace(/[^0-9]/g,"")));
var gap = parseFloat($(this).val().length) - parseFloat(cursor.len);
$(this).setCursorPosition(cursor.start + gap);
});
$(document).on("focusin","[numberOnly],[numberFormat],[floatFormat]", function() {
this.select();
});
//핸드폰
$(document).on("keyup", "input:text[hpFormat]", function() {
//var regexp = /(^02|^0505|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/;
var regexp = /(^02|^1[0-9]{3}|^0[0-9]{2})([0-9]+)?([0-9]{4})$/;
$(this).val($(this).val().replace(/[^0-9]/g, "").replace(regexp,"$1-$2-$3").replace("--", "-"));
});
사용 예 = <input type="text" value="아무거나" hpFormat />
'Client Side > Jquery' 카테고리의 다른 글
[jquery]append 갯수 제한, remove 하나씩 삭제하기 (0) | 2023.12.11 |
---|---|
데이터 푸시 (1) | 2023.12.03 |
select value 의 index 가져오기 (0) | 2023.10.02 |
jQuery 기초 원소 사용 방법 (0) | 2015.06.07 |
클릭 이벤트 (0) | 2015.02.28 |