[Javascript] 정규식 코드

2025. 3. 5. 18:24·Web

키워드 : 전화번호, 인증번호, 이메일, 단어 체크

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>자바스크립트 기준 정규식 코드 사용법</title>
</head>
<body>
</body>
<script>

var word = "a1A2Ab34a5a6bz001";
//정규식 코드 패턴
/*
//replace
var regp = /a/gi;	//g없으면 맨앞 a하나만 바뀜 g있으면 모든 a가 바뀜 replaceAll과 같은 역할을 할수있게됨 
var regp2 = /[a-z]/gi;	//범위잡기 
console.log(word.replace(regp,""));
*/

/*
//trim (정규식코드 아님!) : 앞뒤공백만 삭제 (실무에서도 잘 안씀 차라리 replace쓰지)
var word = " 1 a 2 c 3 d ";
console.log(word.trim());
var regp = / /g;
console.log(word.replace(regp,""));
*/

/*
//test : true, false로 return
var word = "010aa1234b5678";
var regp = /[0-9]/g;
console.log(regp.test(word));	//하나라도 있으면 true 
var regp = /[^0-9]/g;
console.log(regp.test(word));	//숫자가 아닌것이 하나라도 있으면 true 
//인증번호, 전화번호에 많이 사용 
var word = "(주)GS홍길동aaabbb";
var regp = /[^ㄱ-힣a-zA-Z()]/g;	//|중간중간 파이프 안때려도됨 자스3점대에서나 썼었음  
console.log(regp.test(word));
*/

/*
//match : 배열로 return => null일 경우 : 값을 찾을수 없는 경우 
var word = "h-ong@nate.com";
var regp = /[^@.a-z-]/g;
console.log(word.match(regp));
//이메일 검사시 한글을 제한하지 않도록 해야함! match 로는 잘안하고 test를 사용함  
*/

/*
//exec : 배열로 return => null일 경우 : 값을 찾을수 없는 경우 
var word = "hong@gmail.com";
var regp = /[A-Z]/g;
console.log(regp.exec(word));
 */

//exec, match는 비슷한 결!
//단어 검사시에 test 사용 (가장 유용)
//백에서 단어를 배열을 받을때 match, exec 사용  
//주의사항) 사용시에 regp.test(word) => regp,word 위치가 다다르니까 주의해서 사용 

/*
//test 정규식을 이용하여 패턴과 함께 단어를 체크하는 코드
var word = "h  ong @naverc.ckr";
var word2 = word.replace(/ /g,"");	//공백 삭제 
var regp = /^[a-z0-9.-_]+@[a-z0-9ㄱ-힇]+\.[a-z0-9ㄱ-힇]{2,}/i;	//패턴을 쓸땐 g 안써도 됨
// \ : 문자앞에 쓰기 
//{2,} : 두자리 부터! (.site, .world 등등 긴글자로 끝나는것도 있어서 2,3으로 짤라버리면 안됨)
console.log(regp.test(word2));
//test 단독 사용은 공백은 확인 불가능함 ! => test사용 전에 replace로 공백을 모두 삭제해야함! 
 */

/*
전화번호 체크하는 코드
연락처 주의사항 :
	연락처 : 9~11
	휴대폰 : 10~11
*/
var word = "021112222";	//9자 
var word2 = word.replace(/ /g,"");	//모든 공백 제거 
if(word2.length < 9){
	console.log("정상적인 전화번호를 입력하세요!");
	
}else{
	var regp = /^0-9/g;
	var check = regp.test(word2);
	if(check==true){
		console.log("올바른 연락처가 아닙니다");
	}else{
		console.log("올바른 연락처입니다");
	}
}

var word = "0105521234";
if(word.length < 10 || word.length > 11){
	console.log("정상적인 전화번호를 입력하세요!");
}else{
	var regp = /^01\d{8,9}/g;	//\d : 숫자만 
	console.log(regp.test(word));
}

</script>
</html>
  • 정규식 코드
    • replace
      • 치환 //공백 삭제에 많이 사용
      • g옵션 사용해서 replaceAll처럼 사용
      • word.replace(regp,"")
    • replaceAll
    • test
      • true, false로 return
      • 가장 많이 사용 
      • regp.test(word)
    • match
      • 배열로 return //null이면 해당 값이 없다는 뜻 
      • word.match(regp)
    • exec
      • 배열로 return //null이면 해당 값이 없다는 뜻
      • regp.exec(word)
    • split
    • search
  • 정규식 코드 옵션
    • /문자/옵션 (쌍따옴표 안씀!!)
      • g : 전체 문자열을 파악
      • i : 대문자 소문자를 동일한 문자로 인식 
      • [] : 문자열의 배열 범위 
      • ^ 
        • 대괄호 안 : 부정
        • 대괄호 없을때 : 문자열로 시작  
      • {} : 패턴 형태 (문자 자릿수 범위)
      • \ : 문자를 구분하여 설정 
         
저작자표시 비영리 변경금지 (새창열림)
'Web' 카테고리의 다른 글
  • [Servlet] 게시판 만들기
  • [jQuery] 기초
  • [Servlet] 로그인, 로그아웃 만들기
  • [Servlet] 회원가입 만들기
9na0
9na0
응애
  • 9na0
    구나딩
    9na0
  • 전체
    오늘
    어제
    • 분류 전체보기 (211)
      • Web (118)
      • Java (28)
      • 데이터베이스 (14)
      • 세팅 (12)
      • 과제 (3)
      • 쪽지시험 (2)
      • 정보처리기사 (4)
      • 서버 (25)
  • 블로그 메뉴

    • 링크

      • 포폴
      • 구깃
    • 공지사항

    • 인기 글

    • 태그

      net4
      net2
      re_java10
      file25
      notice_writer
      noticewriteok
      file25_t
      re2
      ab1
      file24
      net1
      macbook pro m4
      Oracle
      net5~10
      spring-boot
      java_io1~10
      io_dto
      datalist
      net3
      exam1_1~10
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    9na0
    [Javascript] 정규식 코드
    상단으로

    티스토리툴바