JavaScript - 18. 폼검증과 정규식

갓김치·2020년 10월 13일
0

HTML+CSS+Javascript

목록 보기
18/21

참고

정규식 Regular Expression

  • 검색 패턴을 형성하는 일련의 문자
  • 텍스트 검색 및 바꾸기 작업에 사용

사용형식

  • var patt = /pattern/i
    • i (수정자): 대소문자 구분하지 않고 검색
    • g: 입력문자열 전체를 대상으로 패턴 검색
    • m: 여러 줄에서 검색
  • test(): 문자열에서 패턴을 검색하고 t/f 반환
  • exec():: 패턴 검색후 찾은 텍스트를 반환

문자열 메서드와 함께 사용

// 1. search()
var str = "Visit W3Schools"
var n = str.search(/w3schools/i);
// 2. replace()
var str = "Visit Microsoft!";
var res = str.replace(/microsoft/i, "W3Schools");

자주 쓰는 식

  • [ ] : 문자 범위
  • [abc] : a 또는 b 또는 c
  • [a-z] : a부터 z까지 중의 하나
    • [0-9], [a-zA-Z]
  • \d : 한 개의 숫자
  • . 한개의 문자와 일치
  • \w : 한 개의 문자나 숫자와 일치
  • \s : 공백, 탭, 줄바꿈, 캐리지리턴 문자와 일치
  • ^ : 문자열의 시작을 표시
  • $ : 문자열의 끝

수량한정자

  • ( ) : 문자를 그룹핑
    • "abc|adc" == "a(b|d)c"
  • *: 0회 이상 반복
    • "a*b" == "b", "ab", "aab", "aaab"
  • + : 1회 이상
    • **"a+b" == "ab", "aab", "aaab" 를 나타내지만 b는 포함하지 않는다
  • ? : 0 또는 1회
    • "a?b" == "b", "ab"
  • {m} : m회
    • "a{3}b" == "aaab"

예제

  • 이메일검사 : /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zAZ0-9-]+)*$/
  • /./ : 한개의 문자
  • /.+/ : 어떤문자가 1회이상 반복
  • /\d\d$/ : 끝 두자리 숫자 chr01, product82
profile
갈 길이 멀다

0개의 댓글