자바스크립트 정규표현식 - 영문, 숫자만 허용하는 정규표현식 > jquery

본문 바로가기

jquery

자바스크립트 정규표현식 - 영문, 숫자만 허용하는 정규표현식

작성일 18-10-24 09:43

페이지 정보

작성자서방님 조회 773회 댓글 0건

본문

정규표현식은 복잡한 조건 비교문 없이 
패턴 단위로 문자열을 검증할 수 있어서 무척 유용하...지만...-_-;;
자주 사용하지 않으면 할 때마다 헷갈린다는 단점이 있다.

자바스크립트만 이용해서 사용자 입력값을 검증하는 것은
무조건 문제가 생길 수 있기 때문에 서버측 검증을 꼭 해야만 한다.
물론 서버측에서는 여러가지 다른 수단 (가령, 스토어드 프로시저 파라메터의 데이터 타입) 이 있기 때문에
자바스크립트에서 정규표현식 검증을 하고
서버단에서는 별도 Validation 을 하는 것도 좋은 방법이다

각설하고,

사용자 계정 생성시 자주 사용하게 되는 룰이 영문, 숫자만 허용하는 것인데
이를 자바스크립트 정규표현식을 사용하면 무척 간단하게 표현이 가능하다
 

var regType1 = /^[A-Za-z0-9+]*$/;

 
영어는 대문자 소문자가 있기 때문에 두가지를 모두 식에 표현해 주어야 한다
 

var regType1 = /^[A-Za-z0-9+]*$/;
var regType1 = /^[A-Za-z0-9+]*$/; 


숫자도 0-9 라는 조건을 통해 필터링 할 수 있다
 

var regType1 = /^[A-Za-z0-9+]*$/;  


+ 는 대/소 영문자, 숫자가 한번 이상 나온다는 의미이며 
꺽쇠 바깥쪽의 별표(아스타리스크,*)는 꺽쇠 안의 조건이 0번 이상 반복된다는 의미이다

만약, 문자열 길이를 제한하고 싶으면 어떻게 하면 될까?
그 때는 브레이스({,})로 문자열 갯수를 지정해 주면 된다.
 

var regType1 = /^[A-Za-z0-9+]{4,12}$/; 


위와 같은 식을 이용하면 4자 이상, 12자 이하의 문자열 필터링이 가능하다.
완성된 코드는 아래와 같다.
 

var regType1 = /^[A-Za-z0-9+]*$/;
if (regType1.test(document.getElementById('userid').value)) { alert('아이디가 조건에 맞지 않습니다'); }


 

댓글목록

등록된 댓글이 없습니다.

게시물 검색
Copyright © 서방님.kr All rights reserved.
PC 버전으로 보기