[1] 특정 문자열만 입력되는 jquery plugin
$.fn.formatKey = function(mode){
$(this).css({"ime-mode":"disabled"});
this.each(function(){
$(this).keyup(function(e){
if (window.event) {
key = window.event.keyCode;
} else if (e) {
key = e.which;
} else {
return true;
}
keychar = String.fromCharCode(key);
if (key == null) return true;
switch(mode){
case 'alpha-upper':
return /[^A-Z]+$/.test(keychar)? false : true;
break;
case 'alpha-upper-number':
return /[^A-Z0-9]+$/.test(keychar)? false : true;
break;
case 'alpha-lower':
return /[^a-z]+$/.test(keychar)? false : true;
break;
case 'alpha':
return /[^a-zA-Z]+$/.test(keychar)? false : true;
break;
case 'alpha-number':
return /\W/.test(keychar)? false : true;
break;
case 'number':
return isNaN(keychar) || /[^\d]/.test(keychar)? false : true;
break;
case 'alpha-number-spcharacters':
return !/[a-zA-Z0-9_.]/.test(keychar)? false : true;
break;
case 'no-hangul':
return true ;
break;
default:
return true;
}
}).keyup(function(e){
key = e.which;
keychar = String.fromCharCode(key);
if($.browser.chrome || $.browser.safari || $.browser.opera){
if(key != 37){
if(!/[\ㄱ-ㅎ가-힣ㅏ-ㅗ]/g.test($(this).val())){
return false;
}
$(this).val($(this).val().replace(/[\ㄱ-ㅎ가-힣ㅏ-ㅗ]/g, ''));
}
}
});
});
};
[2] 사용법
$(".number").formatKey("number"); -> 숫자만 입력되게
$(".no-hangul").formatKey("no-hangul"); -> 한글 이외의 문자만
$(".alpha-number").formatKey("alpha-number"); -> 숫자와 영문자만
$(".alpha-upper-number").formatKey("alpha-upper-number"); ->대문자 및 숫자만 입력
'Javascript > Jquery' 카테고리의 다른 글
jquery 브라우저 리사이즈 완료 이벤트 (0) | 2021.02.23 |
---|