* 메타문자를 이용하여 정규식으로 검색 조건으로 할 특정패턴을 설정한다
문자열이 해당 정규식으로 설정한 특정 패턴에 만족하는지 test()를 통해
검사하거나 replace()를 통해서 변경할 수 있다
<button onclick="metaCheck();">메타문자 확인</button>
<div class="area" id="area2"></div>
function metaCheck() {
const area2 = document.getElementById("area2");
const str = "javascript jquery ajax";
시작을 의미하는 메타문자 : ^
/^j/;
j로 시작하는지 여부를 확인한다
const regexp1 = /^j/; // j로 시작하는가?
area2.innerHTML += "regexp1 : " + regexp1 + "<br>";
area2.innerHTML += "regexp1.test(str) : " + regexp1.test(str) + "<br>";
여러 문자들을 나열 : [/abc/]
a 또는 b 또는 c가 포함 되어 있는가?
const regexp2 = /[abc]/;
area2.innerHTML += "regexp3.test(str) : " + regexp3.test(str) + "<br>";
const regexp3 = /x$/;
area2.innerHTML += "regexp3.test(str) : " + regexp3.test(str) + "<br>";
끝을 의미하는 메타문자 : $
/x$/
x로 끝나는지 확인
정규식.test(str)
j로 시작해서 x로 끝나는
패턴 확인
const regexp4 = /^jx$/;
const regexp4 = /^jx$/;
area2.innerHTML += "regexp4 : " + regexp4 + "<br>";
area2.innerHTML += "regexp4.test('jx') : " + regexp4.test('jx') + "<br>";
area2.innerHTML += "regexp4.test(str) : " + regexp4.test(str) + "<br>";
const str = "javascript jquery ajax";
str을 테스트 시 false가 발생한다
/^j.x$/;
개행문자(\n)을 제외한 모든 문자(영문, 숫자, 한글, 특수문자) - 한글자 .
/^ : 문자열의 시작
. : 임의의 한 글자를 나타냄
이 위치에는 어떤 문자라도 하나 올 수 있다 공백도 포함이 된다
매칭되는 문자열 예시 :
jax
jox
j[공백] x
j9x 숫자도 된다
한글자 이상 : +
.+ 개행문자를 제외한 한 글자 이상 :
const regexp6 = /^j.+x$/;
.+
. 임의의 값 앞에 +를 배치함으로써
앞의 패턴이 하나 이상 반복될 수 있음을 의미합니다
= /^[0-9]+$/;
숫자로만 이루어진 조건
/^[ㄱ-ㅎㅏ-ㅣ가-힣]+$/;
[] 또는
+ 하나이상
// * Quiz : 사용자에게 이름을 입력받아서(prompt), 2글자 이상인 한글로만 이루어진 경우
// "안녕하세요 ~ 반갑습니다^^" 알림창을 띄워주고
// 조건에 해당되지 않는 경우 "안녕히 가세요...;-;" 알림창을 띄워주세요.
const name = prompt("이름을 입력하세요");
const regexp9 = /^[가-힣]{2,}$/;
if (regexp9.test(name)) {
alert("안녕하세요~ 반갑습니다^^");
} else {
alert("안녕히 가세요...;-;");
}
}