Javascript 특수문자 입력 - javascript teugsumunja iblyeog

티스토리 뷰

Grand_J 2020. 12. 2. 14:21

Javascript 특수문자, 숫자 허용

//특수문자, 한글 체크 function validateText(input){ var str = input.value.replace(/[~!@\#$%^&*\()\-=+_'\;<>\/.\`:\"\\,\[\]?|{}ㄱ-ㅎㅏ-ㅣ가-힣]/gi,''); input.value = str; } // 숫자만 허용 function validateNumber(input){ var number = input.value.replace(/[^0-9]/g,''); input.value = number; } // 숫자,.만 허용 function validateNumberDot(input){ var number = input.value.replace(/[^0-9.]/g,''); input.value = number; } // 이메일 형식 체크 function validateEmail(str){ var email = str; if(email.search){ return(email.search(new RegExp("^([-!#$%&'*+./0-9=?A-Z^_`a-z{|}~])+@([-!#$%&'*+/0-9=?A-Z^_`a-z{|}~]+\\.)+[a-zA-Z]{2,4}$","gi"))>=0); } if(email.indexOf){ at_character = email.indexOf('@'); if(at_character <= 0 || at_character+4 > email.length) return false; } if(email.length < 6) return false; else return true; }

끗134123513123!~@

문제

줄바꿈 문자와 같은 특수 문자를 문자열에 삽입하고 싶다

해결

문자열에서 이스케이프 문자열을 사용하면 된다. 예를 들어 페이지에 표시할 문자열 안에 카피라이트 기호를 추가하고 싶다면 이스케이프 문자열 \u00A9 를 사용하면 된다.

var resultStr = "

This page \u00A9 shelley Powers

"; //페이지에 출력 var blk = document.getElementById("result"); blk.innerHTML = resultStr;

설명

자바스크립트에서 이스케이프 문자열은 백슬래시 문자로 시작한다.

다음은 이스케이프 문자열의 목록이다.

이스케이프 문자열의미\'작은 따옴표\"큰 따옴표\ \백슬래시\b백스페이스\f폼 피드\n줄 바꿈\r캐리지 리턴\t가로 탭\ddd8진수 문자열(ddd는 3자리 숫자)\xdd16진수 문자열(dd는 2자리 숫자)\udddd유니코드 문자열(dddd는 4자리 16진수 숫자)

// html <input type="text" onkeyup="characterCheck(this)" onkeydown="characterCheck(this)" />

복붙할걸 감안해

키 대신에 onchange로 변경함..

 

// js function characterCheck(obj){ // 허용하고 싶은 특수문자가 있다면 여기서 삭제하면 됨 var regExp = /[ \{\}\[\]\/?.,;:|\)*~`!^\-_+┼<>@\#$%&\'\"\\\(\=]/gi; if( regExp.test(obj.value) ){ alert("특수문자는 입력하실수 없습니다."); obj.value = obj.value.substring( 0 , obj.value.length - 1 ); // 입력한 특수문자 한자리 지움 } }

 

- 나 공백이 들어가게 되면

-나 공백을 넣기전 기존에 텍스트박스에 있던 값으로 되돌아간다

<script type="text/javascript"> // 수정전text 받아오기 var beforeEdit = document.getElementById('pro_name').value; console.log(beforeEdit); function characterCheck(obj){ // console.log(beforeEdit); // console.log(obj); // console.log(obj.value); // 못쓰게 하고싶은 특수 문자가 있다면 [] 내부에 넣기 var regExp = /[ -]/gi; if( regExp.test(obj.value) ){ alert("공백이나 '-'는 포함될 수 없습니다."); obj.value = beforeEdit; // textbox를 초기 값(초기이름)으로 되돌리기 // obj.value = obj.value.substring( 0 , obj.value.length - 1 ); // 입력한 특수문자 한자리 지움 } } </script>

공유하기

게시글 관리

구독하기study

저작자표시 비영리

'JavaScript' 카테고리의 다른 글

jquery - .empty() . append() 를 반복해야될 때 쓸 수 있는 .detach()  (0)2021.08.25select 태그 option 값 가져오기  (0)2021.08.25datatables 특정컬럼 숨기기, 내림차순정렬  (0)2021.08.18창크기 자식창에서 부모창의 함수로 새 창 열때 크기  (0)2021.08.17배열 중복제거  (0)2021.08.13

안녕하세요 남갯입니다


오늘은 특수문자 등 문자를 체크하는 방법에대해 포스팅 해보려고합니다.


     var pattern_num = /[0-9]/; // 숫자 

    var pattern_eng = /[a-zA-Z]/; // 문자 

    var pattern_spc = /[~!@#$%^&*()_+|<>?:{}]/; // 특수문자

    var pattern_kor = /[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/; // 한글체크

    //

    if( (pattern_num.test(str)) && !(pattern_eng.test(str)) && !(pattern_spc.test(str)) && !(pattern_kor.test(str)) ){

    return true

    }else{

    alert("숫자만 입력 가능합니다.")

    return false

    }


번호만 입력하게 하기위해선


위와같이 test함수를 이용해 체크가 가능합니다.


저는 번호만 입력받게하기 위해 위와같이 구성했습니다.





공유하기

게시글 관리

구독하기남갯,YTS의 개발,일상블로그

저작자표시 비영리 동일조건

  • 카카오스토리
  • 트위터
  • 페이스북

'IT > JavaScript' 카테고리의 다른 글

[Jquery] 이미지나 속성 숨기기  (0)2018.10.10[Jquery] css 변경하는 방법  (0)2018.10.10javascript claerTimeout 타이머 해제  (0)2018.08.23javascript setTimeout 타이머 설정 후 실행  (0)2018.08.23[자바스크립트] 해당 배열 index 지우기 (splice)  (0)2018.08.08

Toplist

최신 우편물

태그