input text에서 특수문자 입력을 막는 제대로 막는 방법좀..ㅠ

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
input text에서 특수문자 입력을 막는 제대로 막는 방법좀..ㅠ

QA

input text에서 특수문자 입력을 막는 제대로 막는 방법좀..ㅠ

본문


<script type="text/javascript">
$(document).ready(function(){
 fn_specialCharacters("txt_str");
});
function fn_specialCharacters(id){
 $("#" + id).bind("keyup",function(){
  
  var objEv = event.srcElement.value;
  var num   = ",.;:={}[]()<>?_|~`!@#$%^&*-+\"'\\/ ";
  event.returnValue = true;
  if(-1 != num.indexOf(objEv.charAt(objEv.length-1)))
  {
   event.returnValue = false;
  }
  if(!event.returnValue)
  {
    alert("특수문자는 입력하실 수 없습니다.");
   $("#" + id).val(objEv.substring(0, objEv.length-1));
  }
 });
}
 </script>

 

검색을 통해서 이런식으로 했는데 입력을 하고 잘못써서 빈칸으로 지우게 되면 경고문이 뜨더라고요..

그리고 text 필드마다 하나씩 저 스크립트에서 txt_str부분을 변경해야 하던데.. 저 스크립트 하나를 고정으로는 쓸 수 없는건가요?? 매번 하나씩 복붙하기도 그렇고.. 도움 부탁드리겠습니다..

이 질문에 댓글 쓰기 :

답변 1

값이 없을때는 체크하지 않도록 하면 되지 않을까 싶네요.

  if(objEv.length && -1 != num.indexOf(objEv.charAt(objEv.length-1)))

그리고 특정아이디보다는 클래스로 체크하면 되지 않을까 싶구요.

bind보다는 on이 더 나을듯 합니다.

 


<script type="text/javascript">
$(document).ready(function(){
 fn_specialCharacters(".chkinput");
});
function fn_specialCharacters(cname){
 $(document).on("keyup", cname, function(){
  
  var objEv = event.srcElement.value;
  var num   = ",.;:={}[]()<>?_|~`!@#$%^&*-+\"'\\/ ";
  event.returnValue = true;
  if(objEv.length && -1 != num.indexOf(objEv.charAt(objEv.length-1)))
  {
   event.returnValue = false;
  }
  if(!event.returnValue)
  {
    alert("특수문자는 입력하실 수 없습니다.");
   $(this).val(objEv.substring(0, objEv.length-1));
  }
 });
}
</script>

 

체크할 input의 class에 chkinput 추가해주시면 될겁니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 54
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT