Javascript/Jquery

특정 문자열만 입력하느 jquery plugin

나쁜천사1004 2019. 2. 25. 21:28

[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