[regex] 비밀번호 유효성 체크 및 정규식 표현
++ 추가 표현 (업데이트 2018/11/20)
function validateName(name) {
let result = false;
let re = /^(?=[^\s\x22\x27])(?!.*[\s\x22\x27]).{2,20}$/;
result = re.test(String(name).toLowerCase());
return result;
}
공백, 홑따옴표('), 쌍따옴표(") 를 제외한 문자열을 최소 2글자에서 20글자 사이까지 탐지.
위 정규식을 html pattern 속성에 넣으면 따옴표 때문에 깨져서 유니코드로 표현하였다.
한글 정규식 표현도 유니코드로 표현해주면 깨지지않고 표현 가능하다
정규식 표현 공부하는건 재밌는데,, 어려워서 금방금방 까먹게 된다.
-------
의도대로 완전하게 감지되지않아 이번에 수정하여 업데이트하였습니다. 이제 완벽하게 됨.
+ 응용 패턴 추가
해당 특수문자 발견 시 false 리턴
/^[^\s\x22\x27\{\}\[\]()<>?|`~!@#$%^&*_\-+=,;:\/]*$/
쌍, 홑따옴표 발견 시 false 리턴 (위의 정규식 표현과 다른 방법)
/^[^\s\x22\x27]{2,20}$/
알파벳, 숫자, 한글만 가능하게 (유니코드로 변환해야 에러 발생이 안된다)
/^[a-zA-Z0-9\uAC00-\uD7A3]*$/
이미지태그 정규식표현 (PHP 버전)
<img.*?src=['"](.*?)['"]
preg_match_all('/<img.*?src=[\'"](.*?)[\'"]/', $input_lines, $output_array);
한글 탐지 (가-힇)
/(?=.*[\uAC00-\uD7A3]).*/g
정규식 표현 검사 사이트
https://regexr.com/
https://www.phpliveregex.com/