Hjin Blog
javascript기초(정규식 문법) 본문
'문자'.includes('찾을단어')
.includes()는 문자에 찾을 단어가 들어있는지 검사해주는 기능이다 있다면 true/ 없으면 false를 남겨준다.
하지만 더 자세히 검사를 하기 위해서는 .includes()만으로 검사하기 어렵다.
그래서 정규표현식(regular expression)을 사용하는데
어떤 문자에 '???' 라는 단어가 있는지 검사해보기 위해 사용한다.
/abc/
정규식 표현방법
/abc/.test('abcdef')
/정규식/.test(검색해볼문자) 검사를 통해 있다면 true / 없다면 false를 남겨준다.
정규식 표현방법 알아보기
/[a-z]/.test('abcd') // true
/[a-zA-Z]/.test('가나다라') // false
// 1. a부터 z까지 아무문자 하나를 찾는다.
// 2. 아무알파벳 하나를 찾는다.
/\S/.test('abcd') //true
// 특수문자 포함 아무문자 1개를 찾는다.
/^a/.test('abcd') // true
/e$/.test('abcde') // true
// 1. a로 시작하는지 검사
// 2. e로 끝나는지 검사
/(e|f)/.test('abcde') //true
// or기호 e 또는 f중 아무거나 한문자가 있는지 검사
+
/a+/. 처럼 '+'기호를 붙여주면 뒤에 오는 글자들도 a와 일치하는지 반복해서 찾는다.
/S+t/ = 모든 문자 여러개 다음 t라는 글자가 있는지 검사해준다.(aaaat,bbbt 같은것을 찾아준다.)
/\S+@\S+\.\S+/
이메일 정규식 예시이다.
여기서 \.기호의 이유는 마침표는 정규식에서 특수한 문법이기 때문에 마침표 문법을 쓰는것이 아닌
마침표를 찾아달라는 의미로 쓰기 위해서는 백슬래시(\)를 앞에 붙혀 사용해야한다.
간단한 예제)
$('form').on('submit',function(e){
var emailTest = document.getElementById('email').value;
var pwTest = document.getElementById('PW').value;
if(/\S+@\S+\.\S+/.test(emailTest) === false){
alert('이메일형식이아님');
e.preventDefault();
// 이메일 형식 검사
}
if(/[A-Z]/.test(pwTest) === true){
alert('대문자가들어가있음');
e.preventDefault();
// 입력값에 대문자가 존재하는지 검사
}
});
위처럼 입력시 해당문자가 형식에 맞는지, 또는 존재하는지 검사하는 코드를 만들수있다.
'Javascript' 카테고리의 다른 글
javascript기초 (return 문법) (0) | 2022.11.14 |
---|---|
javascript기초 (이미지 슬라이드 만들기) (0) | 2022.11.14 |
javascript기초(setTimeout,setInterval) (0) | 2022.11.03 |
javascript기초(변수 선언,할당,범위 var,let,const) (0) | 2022.11.02 |
javascript기초(다크모드 버튼만들기) (0) | 2022.11.02 |