1. 기본 설명
http://user.chollian.net/~spacekan/source/string/regExp.htm
http://blog.dreamwiz.com/media/index.asp?uid=yesmin&folder=0&list_id=5653711#MM_SCRIPT
2. 예제
(예제 1) [출처] 정규표현식 with Javascript(자바스크립트)|작성자 노스
이는 가장 단순한 형태의 정규표현식으로 쉽게 설명하기 위해 만든것으로 실제로 사용할 수도 있지만 현실에 잘 맞지 않을 수도 있음을 염두하길 바란다.
YYYY-MM-DD 형태의 날짜 판별 스크립트.
<SCRIPT LANGUAGE="JavaScript">
<!--function validateDate(){
if(frm.birthday.value.search(/[12][0-9]{3}-[0-9]{2}-[0-9]{2}/) == -1){
document.getElementById("birthdayDIV").style.display="block";
isValidate = false;
}
else {
document.getElementById("birthdayDIV").style.display="none";
}}
//-->
이메일 판별용 스크립트.
<SCRIPT LANGUAGE="JavaScript">
function validateEmail(){
if(frm.email1.value.search(/(\S+)\@(\S+)\.(\S+)/) == -1){
document.getElementById("emailDIV").style.display="block";
isValidate = false;
}
else {
document.getElementById("emailDIV").style.display="none";
}}
//-->
if(frm.birthday.value.search(/[12][0-9]{3}-[0-9]{2}-[0-9]{2}/) == -1){
위의 날짜 판별용 스크립트에는 () 를 찾아볼 수가 없다. 즉 이를 나중에 다시 불러 쓸 수 없다.
하나하나 뜯어 살펴보도록 하자.[12] : 1 혹은 2 둘중 하나
[0-9] : 0 1 2 3 4 5 6 7 8 9 중 하나
{3} : [0-9] 를 3번 반복
즉 여기까지 1000 부터 2999 까지의 숫자를 의미한다.
- 는 그냥 문자 -를 의미한다.
[0-9], {2} : 0~9까지의 숫자를 두번 즉, 00부터 99까지.
전부 표현하자면 1000-00-00 부터 2999-99-99까지 표현이 가능하게 되어있다.
if(frm.email1.value.search(/(\S+)\@(\S+)\.(\S+)/) == -1){
이는 각각이 ()로 묶여 있어 이후에 따로 불러서 사용 할 수 있다.
(\S+) : 한개이상 문자열. 이후 $1 로 불러올 수 있다.
\@ : @ 문자 표현
(WS+) : 한개이상 문자열. 이후 $2 로 불러올 수 있다.
\. : . 문자 표현
(WS+) : 한개이상 문자열. 이후 $3 로 불러올 수 있다.
즉 qkfl2@korea.com 을 받았을 경우alert("이메일은 "+ RegExp.$1 + "@" + RegExp.$2 + "." + RegExp.$3 + "입니다.");
로 불러올 수 있다.