프론트엔드✏️/개인공부

유효성 검사, 정규표현식

당근먹는하니 2022. 9. 21. 09:12
728x90
반응형

RegExp

정규표현식 

 

/ /사이에 쓴다.

 

 const Validate = (value) => {
let check = /[a-zA-Z0-9]/;
  
  return check.test(value)
}

const validation = Validate("만두");

console.log(validation); // false
if(!validation) {
  console.log("엥~") // "엥~"
}

 

영문 대소문자, 숫자만 가능하게 했을 때 한글을 입력하면 console에 false / "엥~"이 뜬다. 


/\d{3}-\d{3,4}-\d{4}/.test(”010-123-5678”) // true

디짓(숫자) “d”에서 탈출해줘(이스케이프), \

\d → 디짓(숫자)

 

?하면 한 개 혹은 0개, + 하면 한 개 이상,

정규표현식 - 이 조건에 맞는 내용이 있으면 true!

 

꼭 맞게끔 하고 싶다면, 시작점과 끝 점을 명시해야 한다. (^,$)

/^\d{3}-\d{3,4}-\d{4}$/

 

이메일

문자 혹은 숫자 \w

/^\w+@\w+\.\w+$/

 

정규표현식에서 .은 문자 . 을 의미하는 게 아님, 모든 문자열을 의미함

띄어쓰기 \s

문자만은 없음. [a-z]이렇게 쓸 수 있다.

 

 

내가 써놨던 필긴데 무슨 소린지 잘 모르겠다... 

아직은 대충만 알아도 갖다쓰면 되지 않을까 싶다. 

 

 

메서드설명

exec() 문자열에서 일치하는 부분을 탐색합니다. 일치 정보를 나타내는 배열, 또는 일치가 없는 경우 null을 반환합니다.
test() 문자열에 일치하는 부분이 있는지 확인합니다. true 또는 false를 반환합니다.
match() 캡처 그룹을 포함해서 모든 일치를 담은 배열을 반환합니다. 일치가 없으면 null을 반환합니다.
matchAll() (en-US) 캡처 그룹을 포함해서 모든 일치를 담은 반복기를 반환합니다.
search() 문자열에서 일치하는 부분을 탐색합니다. 일치하는 부분의 인덱스, 또는 일치가 없는 경우 -1을 반환합니다.
replace() 문자열에서 일치하는 부분을 탐색하고, 그 부분을 대체 문자열로 바꿉니다.
replaceAll() (en-US) 문자열에서 일치하는 부분을 모두 탐색하고, 모두 대체 문자열로 바꿉니다.
split() 정규 표현식 또는 문자열 리터럴을 사용해서 문자열을 부분 문자열의 배열로 나눕니다.

출처 : MDN 정규표현식

 

문자열 내부에 패턴과 일치하는 부분이 존재하는지만 알아내려면 test()나 search() 메서드를 사용한다.

일치에 관한 추가 정보가 필요할 때 exec()과 match() 메서드를 사용한다. 

 

사실 어따쓰는지 잘 이해 못했다.

https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions

 

정규 표현식 - JavaScript | MDN

정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴입니다. JavaScript에서는 정규 표현식도 객체로서, RegExp의 exec()와 test() 메서드를 사용할 수 있습니다. String의 match(), matchA

developer.mozilla.org

 

728x90
반응형