목록javascript (17)
Ted's Codding study
typescriptJS의 슈퍼셋 >> TS 파일을 JS 파일로 변환해야만 코드 실행 가능tsc로 TS 코드를 JS로 변환(컴파일)node로 변환시킨 JS 코드를 실행TS 코드 수정 시 계속하여 JS 코드로 변환을 진행매번 tsc fileName 후 node fileName을 실행 시키는 것이 번거로움npm install -g ts-node 설치 후ts-node 명령어를 통해 코드 컴파일과 실행을 동시 진행 가능ts-node 명령어의 경우 JS 파일이 생성되지 Xts-node fileName 으로 실행js 파일에서는 message()가 오류가 없음, 런타임환경에서 오류 발생ts 파일에서는 실행전에 오류를 발생시켜서 실수를 방지해줌 export 키워드// export const tmp = '';{ let..
JavaScript에서의 정규표현식은 RegExp 객체를 통해 다양한 방식으로 활용 가능RegExp 생성자와 주요 메서드들(test(), exec(), match(), search(), replace(), split())의 사용이를 통해 문자열 검색, 검증, 수정 및 분할 작업을 효과적으로 수행 가능 1. RegExp 생성자RegExp 객체는 두 가지 방법으로 생성 가능리터럴 방식과 생성자 함수를 이용하는 방식1) 리터럴 방식const regex = /pattern/flags; 2) 생성자 함수const regex = new RegExp("pattern", "flags"); 3) pattern: 정규표현식의 패턴 부분4) flags: 검색 옵션g : 전역 검색i : 대소문자 구분 없이 검색m : 여러 줄..
1. 비밀번호 복잡성 검증비밀번호 정책을 강화하기 위해, 대문자, 소문자, 숫자, 특수 문자가 각각 최소 하나씩 포함되어야 하며, 전체 길이가 8자 이상정규표현식 : /^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[^\da-zA-Z]).{8,}$/function validatePassword(password) { const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[^\\da-zA-Z]).{8,}$/; console.log(regex.test(password));}validatePassword('Password123!'); // truevalidatePassword('password123!'); // falsevalidatePassword('Pas..
1. 패턴 매칭1) 캡처 그룹 (abc)캡처 그룹은 괄호로 묶인 부분 패턴을 매치, 해당 결과를 저장하여 나중에 참조 할 수 있도록 함매칭된 데이터를 추출하거나 후방 참조와 함께 사용될 때 유용예제: 이름 분리하기const myName = 'Ted Blue';const regexName = /(\\w+) (\\w+)/;const matchName = myName.match(regexName);console.log(matchName);console.log(matchName[1]);console.log(matchName[2]); 2) 비캡처 그룹 (?:abc)비캡처 그룹은 괄호로 묶인 부분 패턴을 매치매치 결과를 저장하지 않아 후방 참조에 사용 불가그룹화는 필요하지만, 데이터 저장은 필요 없을 때 사용예제:..
1. 이메일 주소 검증이메일 주소가 유효한지 확인정규표현식 : /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,6}$/function validateEmail(email) { const regex = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,6}$/; console.log(regex.test(email));}validateEmail('ted@gmail.com'); // truevalidateEmail('tedgmail.com'); // false 정규표현식을 하나씩 자세히 보면^[a-zA-Z0-9._-]+^ 뒤의 문자로 시작[소문자, 대문자, 숫자, 마침표, 언더스코어, 하이픈] 중 하나+ 1개 이상 작성 @앞의 문자들 뒤에 @..