키워드 : 전화번호, 인증번호, 이메일, 단어 체크
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>자바스크립트 기준 정규식 코드 사용법</title>
</head>
<body>
</body>
<script>
var word = "a1A2Ab34a5a6bz001";
//정규식 코드 패턴
/*
//replace
var regp = /a/gi; //g없으면 맨앞 a하나만 바뀜 g있으면 모든 a가 바뀜 replaceAll과 같은 역할을 할수있게됨
var regp2 = /[a-z]/gi; //범위잡기
console.log(word.replace(regp,""));
*/
/*
//trim (정규식코드 아님!) : 앞뒤공백만 삭제 (실무에서도 잘 안씀 차라리 replace쓰지)
var word = " 1 a 2 c 3 d ";
console.log(word.trim());
var regp = / /g;
console.log(word.replace(regp,""));
*/
/*
//test : true, false로 return
var word = "010aa1234b5678";
var regp = /[0-9]/g;
console.log(regp.test(word)); //하나라도 있으면 true
var regp = /[^0-9]/g;
console.log(regp.test(word)); //숫자가 아닌것이 하나라도 있으면 true
//인증번호, 전화번호에 많이 사용
var word = "(주)GS홍길동aaabbb";
var regp = /[^ㄱ-힣a-zA-Z()]/g; //|중간중간 파이프 안때려도됨 자스3점대에서나 썼었음
console.log(regp.test(word));
*/
/*
//match : 배열로 return => null일 경우 : 값을 찾을수 없는 경우
var word = "h-ong@nate.com";
var regp = /[^@.a-z-]/g;
console.log(word.match(regp));
//이메일 검사시 한글을 제한하지 않도록 해야함! match 로는 잘안하고 test를 사용함
*/
/*
//exec : 배열로 return => null일 경우 : 값을 찾을수 없는 경우
var word = "hong@gmail.com";
var regp = /[A-Z]/g;
console.log(regp.exec(word));
*/
//exec, match는 비슷한 결!
//단어 검사시에 test 사용 (가장 유용)
//백에서 단어를 배열을 받을때 match, exec 사용
//주의사항) 사용시에 regp.test(word) => regp,word 위치가 다다르니까 주의해서 사용
/*
//test 정규식을 이용하여 패턴과 함께 단어를 체크하는 코드
var word = "h ong @naverc.ckr";
var word2 = word.replace(/ /g,""); //공백 삭제
var regp = /^[a-z0-9.-_]+@[a-z0-9ㄱ-힇]+\.[a-z0-9ㄱ-힇]{2,}/i; //패턴을 쓸땐 g 안써도 됨
// \ : 문자앞에 쓰기
//{2,} : 두자리 부터! (.site, .world 등등 긴글자로 끝나는것도 있어서 2,3으로 짤라버리면 안됨)
console.log(regp.test(word2));
//test 단독 사용은 공백은 확인 불가능함 ! => test사용 전에 replace로 공백을 모두 삭제해야함!
*/
/*
전화번호 체크하는 코드
연락처 주의사항 :
연락처 : 9~11
휴대폰 : 10~11
*/
var word = "021112222"; //9자
var word2 = word.replace(/ /g,""); //모든 공백 제거
if(word2.length < 9){
console.log("정상적인 전화번호를 입력하세요!");
}else{
var regp = /^0-9/g;
var check = regp.test(word2);
if(check==true){
console.log("올바른 연락처가 아닙니다");
}else{
console.log("올바른 연락처입니다");
}
}
var word = "0105521234";
if(word.length < 10 || word.length > 11){
console.log("정상적인 전화번호를 입력하세요!");
}else{
var regp = /^01\d{8,9}/g; //\d : 숫자만
console.log(regp.test(word));
}
</script>
</html>
- 정규식 코드
- replace
- 치환 //공백 삭제에 많이 사용
- g옵션 사용해서 replaceAll처럼 사용
- word.replace(regp,"")
- replaceAll
- test
- true, false로 return
- 가장 많이 사용
- regp.test(word)
- match
- 배열로 return //null이면 해당 값이 없다는 뜻
- word.match(regp)
- exec
- 배열로 return //null이면 해당 값이 없다는 뜻
- regp.exec(word)
- split
- search
- replace
- 정규식 코드 옵션
- /문자/옵션 (쌍따옴표 안씀!!)
- g : 전체 문자열을 파악
- i : 대문자 소문자를 동일한 문자로 인식
- [] : 문자열의 배열 범위
- ^
- 대괄호 안 : 부정
- 대괄호 없을때 : 문자열로 시작
- {} : 패턴 형태 (문자 자릿수 범위)
- \ : 문자를 구분하여 설정
- /문자/옵션 (쌍따옴표 안씀!!)