goodthings4me.tistory.com
■ re.findall() 이용
import re
def passwordCheck(pwd):
if len(pwd) < 8 or len(pwd) > 21 and not re.findall('[0-9]+', pwd) and not \
re.findall('[a-z]', pwd) or not re.findall('[A-Z]', pwd):
print('비밀번호 기준(숫자, 영문 대소문자 구성)에 맞지 않습니다.')
return False
elif not re.findall('[`~!@#$%^&*(),<.>/?]+', pwd):
#elif re.search('[`~!@#$%^&*(),<.>/?]+', pwd) is None: # 이 방법도 있음
print('비밀번호는 최소 1개 이상의 특수문자가 포함되어야 함')
return False
print('비밀번호의 길이, 숫자, 영문자 등 유효함!!')
return True
pwd = '112345678qQ!'
passwordCheck(pwd)
[실행 결과]
비밀번호의 길이, 숫자, 영문자 등 유효함!!
※ findall()은 정규식과 매칭되는 문자열을 리스트로 반환한다.
※ search()는 문자열 전체를 검색하여 정규식과 매칭되는지 검사한다.
■ re.search() 이용
import re
def passwordValidation(pwd):
if len(pwd) < 8:
print('비밀번호는 최소 8자 이상이어야 함')
return False
elif re.search('[0-9]+', pwd) is None:
print('비밀번호는 최소 1개 이상의 숫자가 포함되어야 함')
return False
elif re.search('[a-zA-Z]+', pwd) is None:
print('비밀번호는 최소 1개 이상의 영문 대소문자가 포함되어야 함')
return False
elif re.search('[`~!@#$%^&*(),<.>/?]+', pwd) is None:
print('비밀번호는 최소 1개 이상의 특수문자가 포함되어야 함')
return False
else:
print('비밀번호 기준에 적합합니다.')
return True
passwd = 'a123456789#'
passwordValidation(passwd)
[실행 결과]
비밀번호 기준에 적합합니다.
■ 특수문자를 리스트 객체로 생성한 후 체크하도록 하는 방법
import re
def pwdValidation(pwd):
special_char = ['`', '~', '!', '@', '#', '$', '%', '^', '&', '*', '(',\
')', ',', '<', '.', '>', '/', '?', '[', ']', '{', '}']
if len(pwd) < 8:
print('비밀번호는 최소 8자 이상이어야 함')
return False
elif re.search('[0-9]+', pwd) is None:
print('비밀번호는 최소 1개 이상의 숫자가 포함되어야 함')
return False
elif re.search('[a-z]+', pwd) is None or re.search('[A-Z]+', pwd) is None:
print('비밀번호는 최소 1개 이상의 영문 대소문자가 포함되어야 함')
return False
elif not any(c in special_char for c in pwd):
print('비밀번호는 최소 1개 이상의 특수문자가 포함되어야 함')
return False
else:
print('비밀번호 기준에 적합합니다.')
return True
password = '12345678aQ'
pwdValidation(password)
[실행 결과]
비밀번호는 최소 1개 이상의 특수문자가 포함되어야 함
※ not any(c in special_char for c in pwd)
# any()는 iterable 객체를 인수로 받고, 인수 중 하나라도 참이 있으면 True 반환(인수 모두 거짓일 때에만 False 반환)
# all()은 iterable 객체를 인수로 받고, 인수가 모두 참이면 True 반환, 거짓이 하나라도 있으면 False 반환
print(all([1, 2, 3, 0])) # False
print(any([1, 2, 3, 0])) # True
블로그 인기글
유튜브 영상 등의 URL 주소를 QR코드로 만들기
네이버 QR코드, makeQR, MUST QRcode, 무료 온라인 QRCode 생성기 등의 웹사이트에서 유튜브 영상 등의 URL을 입력하여 QR코드를 만들 수 있다. QR코드를 생성할 수 있는 사이트와 프로그램 URL 주소를 붙여넣기 한 후 "QR 코드 생성" 버튼을 클릭하면 큐알코드가 이미지로 생성되고, 다운로드도 할 수 있는 사이트 https://truedoum.com/useful/qrcode/ # 유튜브에서 동영상 URL을 복사하는 방법 유튜브에서 QR코드를 만들 동영상을 검색한다. 해당 동영상을 클릭한다. 동영상 위에서 마우스 우클릭 후 나오는 팝업창에서 “동영상 URL 복사”를 클릭하거나 영상 하단의 “공유”를 클릭하여 나온 창에서 URL를 복사한다. 아래의 웹사이트 중 하나를 선택한 후 복사..
goodthings4me.tistory.com
Windows 10 탐색기 느려지는 증상과 해결하는 방법
잘 작동하던 Windows 10 탐색기가 갑자기 느려지는 증상이 발생했을 때 어떻게 조치를 하는지 구글에서 찾아보니 많은 해결책들이 있었으나 어떤 것이 정확한 해결책인지는 알 수가 없었다. 그래서 해결방법이라고 제시한 것들을 정리해 보았다. 윈도우 탐색기가 느려지는 증상 해결 방법 어느 순간부터 응용프로그램(VS Code 등)에서 폴더 열기나 파일 불러오기를 했을 때 검색 팝업창이 안 뜨거나 열리는 시간이 엄청 느려지는 증상과, 더불어서 탐색기도 실행이 많이 느려지는 증상이 있었다. 기존에 사용하던 VS Code에 openpyxl 설치 후 실행이 느려지는 증상이 발생하더니 윈도우10 탐색기도 느려져서 사용할 수가 없었다. 노트북에 OS(Windows10)를 설치한지 1년이 다 되어가긴 했지만, 1개월 전..
goodthings4me.tistory.com
[국세청] 현금영수증가맹점으로 가입바랍니다. 메시지 해결방법(개인사업자)
▶ 현금영수증 가맹점 가입 메시지를 받고... 온라인 쇼핑몰 사업을 시작하려고 사업자등록증을 발급받고 난 후 얼마 안 있어서 국세청으로부터 어느 시점까지 '현금영수증 가맹점'으로 가입하라는 문자메시지가 받았었다. 그 메시지 기한이 오늘 도래했는데, 인터넷에서 찾아보니 홈택스에서 현금영수증 발급 사업자 신청을 할 수가 있었다. [관련내용] 홈>국세정책/제도>전자(세금)계산서/현금영수증/신용카드>현금영수증∙신용카드>가맹점가입 ▶ 홈택스 사이트에서 신청하는 절차는 다음과 같다. 우선, 홈택스에 로그인을 해야 합니다. 세상이 좋아져서 공인인증서 없이도 손쉽게 간편인증 로그인이 가능하다. 여러 인증방법 중 카카오톡 인증이 가장 편리한 거 같다. 간편인증 로그인 후 상단 '조회/발급' 탭 클릭 후 '현금영수증>현금..
goodthings4me.tistory.com
'코딩 연습 > 코딩배우기' 카테고리의 다른 글
[python] 파이썬 정규 표현식 (regular expression) (0) | 2020.09.27 |
---|---|
[python] 파이썬 문자열 관련 함수들 (0) | 2020.09.27 |
[python] 파이썬 datetime() 함수로 살아온 연월일 계산하기(코딩 연습) (0) | 2020.09.23 |
[django] 파이썬 Django(장고) 템플릿 문법 (0) | 2020.09.22 |
[python] 파이썬 스페셜 메소드 (Special Method) 사용 예제 (0) | 2020.09.22 |
댓글