자바스크립트 정규식 사용 예제 > 기술자료 | 해피정닷컴

자바스크립트 정규식 사용 예제 > 기술자료

본문 바로가기

사이트 내 전체검색

자바스크립트 정규식 사용 예제 > 기술자료

JavaScript 자바스크립트 정규식 사용 예제

페이지 정보


본문

 ###  정규표현식
 
1. 확장문자 (: backslash)
  - s : 공백 문자(스페이스, 탭, 폼 피드, 라인 피드)
  - b : 단어의 경계
  - B : b를 제외한 모든 문자 매칭
  - d : 숫자
  - D : 숫자가 아닌 문자 [^0-9] 와 동일
  - w : 알파벳, 숫자로 된 문자, 밑줄 기호(_) [A-Za-z0-9]
  - W : w의 반대 문자 [^A-Za-z0-9]
  - 특수문자 : 특수문자 자체를 의미 예) + (+ 기호 자체)
 
2. 특수문자
  - * : 0회 이상 반복
  - + : 1회 이상 반복
  - ? : 0 또는 1개의 문자 매칭
  - . : 정확히 1개 문자 매칭
 
3. 플래그
  - g : 전역매칭
  - i : 대소문자 무시
  - m : 여러 줄 매칭
 
4. 기타
    - () : 괄호로 묶인 패턴은 매칭된 다음, 그 부분을 기억한다.
    - $1,...,$9 : 괄호로 갭처한 부분 문자열이 저장 됨.
    - | : ~또는~
    - {} : 반복 횟수
 
 
###  간단한 정규 표현식
var re = /a/             // a 가 있는 문자열
var re = /a/i            // a 가 있는 문자열, 대소문자 구분 안함
var re = /apple/         // apple가 있는 문자열
var re = /[a-z]/         // a~z 사이의 모든 문자
var re = /[a-zA-Z0-9]/   // a~z, A~Z 0~9 사이의 모든 문자
var re = /[a-z]|[0-9]/   // a~z 혹은 0~9사이의 문자
var re = /a|b|c/         //  a 혹은 b 혹은 c인 문자
var re = /[^a-z]/        // a~z까지의 문자가 아닌 문자("^" 부정)
var re = /^[a-z]/        // 문자의 처음이 a~z로 시작되는 문장
var re = /[a-z]$/        // 문자가 a~z로 끝남
 
 
상기에 정의된 간단한 표현식을 아래에 넣어 직접 해 보시기 바랍니다.
var str = "sample string";
re.test(str)?"true":"false";
 
* 특수문자('''', ''^'', ''$'', ''*'', ''+'', ''?'', ''.'', ''('', '')'', ''|'', ''{'', ''}'', ''['', '']'')를 검색할 경우는 '''' 를 넣는다.
 
 
###  간단한 응용예제
 
// 공백 체크
var re = /s$/;
 
// 공백문자 개행문자만 입력 거절
var re = /^ss*$/;
 
// 이메일 체크
var re = /^[-!#$%&'*+./0-9=?A-Z^_a-z{|}~]+@[-!#$%&'*+/0-9=?A-Z^_a-z{|}~]+.[-!#$%&'*+./0-9=?A-Z^_a-z{|}~]+$/;
// 이메일 체크
var regExp = /[a-z0-9]{2,}@[a-z0-9-]{2,}.[a-z0-9]{2,}/i;  // 지메일등의  아이디.아이디@메일.메일  대응안됨 (사용비적합)
// 비밀번호,아이디체크 영문,숫자만허용, 4~10자리
var re = /^[A-Za-z0-9]{4,10}$/
 
// 홈페이지 체크
var re = new RegExp("(http|https|ftp|telnet|news|irc)://([-/.a-zA-Z0-9_~#%$?&=:200-377()]+)","gi")
 
// 태그제거
var re = "<[^<|>]*>";
var re = /[<][^>]*[>]/gi;
str = str.replace(RegExpTag,"");  
 
// 스크립트 제거
var RegExpJS = "<script[^>]*>(.*?)</script>";
str = str.replace(RegExpJS,"");
 
// 스타일 제거
var RegExpCSS = "<style[^>]*>(.*?)";
str = str.replace(RegExpCSS,"");
 
// 한글 제거
var RegExpHG = "[ㄱ-ㅎ가-힣]";
str = str.replace(RegExpHG,"");
 
// 주석 제거
var RegExpDS = /<!--[^>](.*?)-->/g;
str6 = str.replace(RegExpDS,"");
 
//문장의 처음이 @이고 문자가 1나 이상 있으면 ok
re = new RegExp("^@[a-zA-Z0-9]+s+","i");
 
// 영숫자 조합 체크
if ((new RegExp(/[^a-z|^0-9]/gi)).test(frm.loginid.value)) {
    alert("ID는 영숫자 조합만 사용하세요");
    frm.loginid.focus();
}
 
// 홈페이지 주소 체크
 function chk(v){
  str='';
  re = new RegExp("^http://","i");  
  re.test(v)?str='y':str='n';
  alert(str);
 }
 
// hanmail인지를 체크
 function chk(v){
  str='';
  re = new RegExp("hanmail.net","i");  
  re.test(v)?str=true:str=false;
  return str
 }
 
//본문내에서 도메인 구하기
var patt = /(http(s)?://)?w+(.w+)+/gi;
      var result = (aa.value.match(patt));
 
//본문내에서 url구하기
상기와 유사 var patt = /(http(s)?://)?w+(.w+).S*/gi;


관련자료
http://www.shop-wiz.com/board/main/view/root/javascript2/16
http://www.javascriptkit.com/javatutors/redev3.shtml
http://blog.naver.com/nowon_2030/30101865878

댓글목록

등록된 댓글이 없습니다.


Total 2,641건 1 페이지
  • RSS
기술자료 목록
2641
그누보드   171  2024-11-26 21:14 ~ 2024-11-26 21:22  
2640
그누보드   214  2024-11-22 10:52 ~ 2024-11-22 11:03  
2639
호스팅   201  2024-11-19 14:41 ~ 2024-11-19 21:17  
2638
Linux   152  2024-11-18 15:45 ~ 2024-11-18 15:48  
2637
일반   169  2024-11-15 16:45 ~ 2024-11-15 16:46  
2636
Secure   190  2024-11-06 18:48 ~ 2024-11-06 18:50  
2635
영카트   345  2024-10-21 13:44 ~ 2024-10-21 19:42  
2634
전자결제   715  2024-09-05 09:30  
2633
MySQL   987  2024-03-29 14:14 ~ 2024-03-29 14:14  
2632
그누보드   1218  2024-02-23 18:40 ~ 2024-02-24 06:13  
2631
JavaScript   1338  2024-02-16 18:50 ~ 2024-02-16 20:37  
2630
Java   1283  2024-02-06 16:49  
2629
PHP   1477  2024-02-06 16:42  
2628
호스팅   1391  2024-01-29 12:54  
2627
PHP   1351  2024-01-26 11:04 ~ 2024-01-26 11:13  
2626
MySQL   1536  2024-01-08 17:37 ~ 2024-03-14 16:00  
2625
SQL   1695  2024-01-08 12:36  
2624
영카트   1738  2024-01-04 14:57  
2623
일반   2626  2023-12-15 18:33  
2622
Android   2099  2023-11-30 18:48 ~ 2023-11-30 19:41  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.