javascript

정규식 모음

Bittersweet- 2022. 6. 3. 15:54
728x90

사용법

let regexp = /^[0-9]*$/,
	val = document.querySelector('input).value; 

if( !regexp.test(val) ) { 
  alert("숫자만 입력하세요"); 
  val = val.replace(regexp,''); 
}

 

정규식 모음

1. 한글만

/[a-z0-9]|[ \[\]{}()<>?|`~!@#$%^&*-_+=,.;:\"'\\]/g

2. 자음/모음 불가

/([^가-힣\x20])/i

3. 자음/모음 가능

/([^가-힣ㄱ-ㅎㅏ-ㅣ\x20])/i

4. 이메일

// 기본체크
/^[-A-Za-z0-9_]+[-A-Za-z0-9_.][@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.][.]{1}[A-Za-z]{1,5}$/
/^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
// RFC5322
/\b[\w.!#$%&’+\/=?^`{|}~-]+@[\w-]+(?:\.[\w-]+)\b/
// 정밀체크
/(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/

5. 전화번호

// 일반 전화번호
/^\d{2,3}-\d{3,4}-\d{4}$/
// 3자리-3~4자리-4자리(사이에 1자 아무거나 가능))
/^[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3,4}[-\s\.]?[0-9]{4}$/
// 3자리-3~4자리-4자리(사이에 "-" 고정)
/^\d{3}-\d{3,4}-\d{4}$/
// 휴대폰&전화번호
/(^02.{0}|^01.{1}|[0-9]{3})([0-9]+)([0-9]{4})/
// 휴대폰번호
/^01(?:0|1|[6-9])[.-]?(\\d{3}|\\d{4})[.-]?(\\d{4})$/

6. 혼합

// 영어, 숫자 포함 6-12자리 암호
/^[A-Za-z0-9]{6,12}$/
// 영어, 숫자, 특수문자 포함 8-15자리 암호
/^.(?=^.{8,15}$)(?=.\d)(?=.[a-zA-Z])(?=.[!@#$%^&+=]).$/
// 영어, 숫자, 특수문자 각 1개 이상 포함 8-16자리자리 암호
/^(?=.[A-Za-z])(?=.\d)(?=.[$@$!%#?&])[A-Za-z\d$@$!%#?&]{8,16}$/
// 영어 소문자, 숫자, "-", "_"로만 구성된 길이 2-10자리 문자열
/^[a-z0-9_-]{2,10}$/
// 1 이상 숫자 입력, 소수점 18자리 이상 입력 불가
/^[1-9]+\.?([0-9]{1,17})?$/
// 최소 8자 이상으로 영문자 대문자, 영문자 소문자, 숫자, 특수문자가 각각 최소 1개 이상
/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/
// 최소 8자 이상으로 숫자, 특수문자가 각각 최소 1개이상
/^(?=.*?[0-9])(?=.*?[#?!@$ %^&*-]).{8,}$/

7. 특수문자 및 이모티콘 제외

/^[0-9a-zA-Z가-힣ㄱ-ㅎㅏ-ㅣ\x20]*$/gi

8. 신용카드 번호

//19자리 숫자와 "-"
/^[0-9-]{19}$/
// 4-4-4-4 체크
/^[0-9]{4}[-\s\.]?[0-9]{4}[-\s\.]?[0-9]{4}[-\s\.]?[0-9]{4}$/

9. UUID

/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/

10. URL

// 프로토콜 포함
/https?:\/\/(www\.)?[-a-zA-Z0-9@:%.\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%\+.~#()?&//=])/
//프로토콜 옵션
/(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%.\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%\+.~#?&//=])/

11. HTML 태그

/^<([a-z]+)([^<]+)(?:>(.)<\/\1>|\s+\/>)$/
/<\/?[\w\s]>|<.+[\W]>/
/<([a-z]+)([^<]+)(?:>(.*)<\/\1>|\s+\/>)/

12. 하이퍼링크

/(?!<a\sname=\"([\w\s\d\-\.\#]+)\"><\/a>)<a\sname=\"([\w\s\d\-\.\#]+)\">(.*?)<\/a>/

13. 숫자만

/^(\(?\+?[0-9]\)?)?[0-9_\- \(\)]$/

14. 웹사이트 하이퍼링크인지 체크

<a\s+(?:[^>])href=\"((?:https:\/\/|http:\/\/)(?:.?))">(?:.*?)<\/a>

15. 숫자와 영문자 대소문자만

// 공백없는 숫자와 영문자 대소문자
/^[a-zA-Z0-9]$/
// 공백포함 숫자와 영문자 대소문자
/^[a-zA-Z0-9 ]$/
// 영문자 대소문자
/[a-zA-Z]/

16. 년월일

// yyyy-mm-dd
/^(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])$/

17. 특수문자와 공백 선택

// 한글포함 특수문자와 공백
/[^?a-zA-Z0-9/]/
// 한글제외 특수문자와 공백
/[^-가-?a-zA-Z0-9/ ]/

18. 주민등록 번호

/^[-A-Za-z0-9_]+[-A-Za-z0-9_.][@]{1}[-A-Za-z0-9_]+[-A-Za-z0-9_.][.]{1}[A-Za-z]{1,5}$/

'javascript' 카테고리의 다른 글

[ES6] Spread Operator(...)  (0) 2022.07.12
배열의 중복 제거  (0) 2022.06.23
RegEX 정규 표현식(Regular Expression)  (0) 2022.06.03
[array] reduce() 사용법 및 예제  (0) 2022.04.14
[array] 배열 메서드 모음  (0) 2022.04.14