728x90
정규표현식(RegularExpression)
정의
내가 사용하고자하는 원하는 패턴에 맞는 값을 확인하는 것
유효한 식인지 적당한 값인지 확인하는 패턴
특정 패턴의 문자열을 찾기위한 표현방식
자주 쓰는 사용처
회원가입
id,pw등 값을 쓴다고 했을 때
아이디를 1을 넣었을 때 5-20자 영문특문만 가능
이미 사용 중이거나 탈퇴한 아이디
쓸 수 없는 기호 걸러줌
- 쓸 수 있는 아이디와 없는 아이디 걸러주는 역할
- 표현식을 만들어서, 유효한 식인지 적당한 값인지 만들어보는 것
정규표현식의 객체 생성
방법1 : new 연산자 사용
방법2 : 스크립트 작성
방법1 : new 연산자 사용
var regExp = new RegExp('script'); // 정규식 객체 생성 : ' '
var regExp = new RegExp(/script/); // 정규식 객체 생성 : / /
방법2 : 스크립트 작성
정규식 생성하겠다 의미 내포한 변수 생성
new와 소괄호 없이 정규식 객체 생성
var regExp = /script/;
단순 변수 생성한 것
위에서 정규식의 객체를 생성한 / /랑 다르다
var regExp = 'script'; // 그냥 변수 생성 // 위의 / /랑 다른 슬래시
정규표현식에서 자주사용하는 메소드
test()
해당글자가 존재하면 true 존재하지 않으면 false
console.log(regExp.test(str)); // true
exec()
존재여부확인, 해당글자가 없으면 null 있으면 정보배열(index,input)반환
console.log(regExp.exec(str)); // ['script', index: 4, input: 'javascript jquery ajax', groups: undefined]
// <- 해당글자가 있어서 정보배열반환
index랑 input 반환하는 기준 비교하고자하는 값이 스크립트 몇번째에서 나타나냐? 01234에서부터 나타나는 script
index = index번째
input = 어디에서
String의 메소드
정규표현식 외에도 str에서 많이 쓰는 메소드로도 비교함
정규표현식 메소드가 있으니까 정규표현식 메소드만 쓰기 보다 다양하게 활용가능하다
match()
== exec() 결과가 exec와 같음. str의 메소드도 충분히 활용 가능
console.log(str.match(regExp));
str.replace()
해당글자를 지정한문자로 바꿔줌
console.log(str.replace(regExp,'스크립트'));
728x90
반응형
'JavaScript' 카테고리의 다른 글
[JS] 정규표현식(RegularExpression) 2 : 자주 사용하는 정규표현식 (0) | 2022.08.15 |
---|---|
[JS] 이벤트(Event) : 고전,인라인,표준 이벤트 모델 & 이벤트 기본동작 취소 (0) | 2022.08.13 |
[JS] DOM(Document Object Model) - Node, createElement(), createTextNode() 등 (0) | 2022.08.12 |
[JS] BOM(Browser Object Model) : navigator, screen, location, history 객체 (0) | 2022.08.11 |
[JS] 윈도우객체(window object) : window.open(), setTimeout(), setInterval() 등 (0) | 2022.08.10 |