Javascript & JQuery & CSS > JQuery 정규식 - 기본 사용법 설명
등록일 : 2017-07-14 17:19
조회수 : 94,184
간단한 정규식 규칙 입니다.
아래 설명을 참고 하세요.
/^ : 정규식 선언의 시작을 알림 이제부터 정규식 선언할꺼임이란뜻
$/ : 정규식 선언의 끝을 알림 여기까지가 정규식이란 뜻
[a-z] : 소문자 a부터 z까지
[A-Z] : 대문자 A부터 Z까지
[0-9] : 1234567890 숫자를 의미
\d : 1234567890 숫자를 의미 [0-9] 와 같은 의미 이다.
[가-힝] : 한글을 의미한다
[ㄱ-ㅎ] : 한글 초성을 의미함
[a-z\d\.-]{2,40} : 판별할 글자조합을 []안에 적고 그다음{}안에 최소값 , 최대값을 적는다
\@ : \다음 문자는 해당 문자가 꼭 들어가야한다는뜻
| : 여러 개의 문자열을 치환할 때 사용하는 정규식(= or).
* : 선행 하위 패턴은 0번 혹은 그 이상 나타나야 한다.
+ : 선행 하위 패턴은 1번 혹은 그 이상 나타나야한다.
? : 선행 하위 패턴은 0혹은 1번만 나타나야 한다.
{n} : 선행 하위 패턴은 정확히 n번 나타나야한다.
() : 그룹 문자는 메타문자와 함께 혹은 단일로 하위 패턴을 구성한다.
(기술적으로 보면 이것은 수량 한정자가 아니지만, 괄호는 수학적인 표현식과 함께 하위 패턴들을 그룹 짓는데 사용된다.)
\s : 띄어쓰기(공백)을 의미.
'/', '[' 와 같은 특수한 문자들도 치환자 내에서는 '\/', '\[' 와 같이, '\'붙여서 사용 가능.
\w : 밑줄 문자를 포함한 영숫자 문자에 대응
[A-Za-z0-9_] 와 동일
var re_email = /^([a-z\d\.-]{2,40})\@([a-z\d\.-]{2,16})\.([a-z\.]{2,6})$/;
위의 정규식을 풀어보면
소문자 a에서 z까지와 숫자 [.] [-] 조합을 최소 2글자 최대 40글자까지 쓴다음 @가 와야하고 후에
소문자 a에서 z까지와 숫자 [.] [-] 조합을 최소 2글자 최대 16글자까지 쓴다음 .가 와야하고 후에
소문자 a 에서 z까지와 .조합을 최소 2글자에서 최대 6글자까지 써야한다
[abc-123]@[abc123].[co.kr]
[abc123]@[abc123].[com]
이런 결과가 나와야 한다는뜻
저런식으로 사용하지않을경우와 사용한 경우를 걸러낼수있는게 정규식
var re_email = /^([a-z\d\.-]{2,40})\@([a-z\d\.-]{2,16})\.([a-z\.]{2,6})$/;
if ( re_email.test(입력값) != true )
{
alert('입력형식이 올바르지 않습니다.');
return;
}
만약 change 즉 값이 변할때마다 함수 실행시
if ( re_email.test(입력값) != true && 입력값 != "")
{
alert('입력형식이 올바르지 않습니다.');
return;
}
위 내용을 꼭 추가하자 안그러면 포커스를 줬을때나 입력값을 변경하면 실행이 되서 여러번 실행된다.