ex.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// ⭐ 자주 사용
// - 문자열 . replace (정규식, 대체문자) ★
// - 문자열 . match (정규식) : array반환
// - 문자열 . search (정규식) : index반환
// - 정규식 . test (문자열) : boolean반환
let str = "abccc";
console.log(str.match(/c*/));
let str2 = "123abc";
console.log(str2.match(/(\d+)(\w)/));
str = str.replace(/ab/,"");
console.log(str); // ccc
</script>
</body>
</html>
ex2.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// ⭐ 자주 사용
// - 문자열 . replace (정규식, 대체문자) ★
// - 문자열 . match (정규식) : array반환
// - 문자열 . search (정규식) : index반환
// - 정규식 . test (문자열) : boolean반환
// 패턴을 만들어서 특정 문자열이 해당 패턴이 맞는지 체크
const regex = /\d{3}-\d{4}-\d{4}/;
// true, false 리턴해줌
console.log(regex.test('010-0000-0000'));
console.log(regex.test('02-0000-0000'));
// 문자들 중에서 전화번호만 반환
const text = "안녕하세요 제 전화번호는 010-1234-5678 입니다~ 연락주세요."
console.log(text.match(/\d{3}-\d{4}-\d{4}/)[0]); // 배열의 0번째
</script>
</body>
</html>
ex_신규id추천.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// ⭐ 신규 아이디 추천
function solution (new_id) {
let answer = '';
// (1) id는 소문자로만 되어야함
new_id = new_id.toLowerCase();
console.log(`소문자로 변경 : ${new_id}`);
// (2) 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거
// !, #, * 제거
new_id = new_id.replace(/[^a-z0-9\-\_\.]/g,"");
console.log(`특수문자제거 변경 : ${new_id}`);
// (3) 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표로 변경
new_id = new_id.replace(/\.{2,}/g,"."); // "." 이렇게 변경해 ~
console.log(`연속마침표를 하나로 : ${new_id}`);
// (4) 마침표(.)가 처음이나 끝에 위치하면 제거
new_id = new_id.replace(/^\.|\.$/g,""); // ^ 맨앞, $ 맨뒤
console.log(`앞뒤 마침표를 제거 : ${new_id}`);
// (5) new_id가 빈문자열이라면 "a"를 대입
new_id = new_id.length === 0 ? "a" : new_id;
console.log(`빈문자열 : ${new_id}`);
// (6)-(1) new_id의 길이가 16자 이상이면 new_id 첫 15개 문자를 제외한 나머지 문자를 제거
// (6)-(2) 제거했을 때 마침표(.) new_id의 끝에 위치한다면 마지막 (.)문자를 제거
new_id = new_id.length >= 16 ? new_id.slice(0,15) : new_id; // 0~14까지, 15는 포함하지 않음
new_id = new_id.replace(/\.$/g,"");
console.log(`15개만 남기기 : ${new_id}`);
return new_id;
}
solution("...!@BaT#*..y.abcdefghijklm...");
</script>
</body>
</html>
'JavaScript' 카테고리의 다른 글
[JavaScript] 조건문2 (0) | 2023.03.09 |
---|---|
[JavaScript] 조건문1 (0) | 2023.03.09 |
[JavaScript] 배열3 (0) | 2023.03.09 |
[JavaScript] 배열2 (0) | 2023.03.09 |
[JavaScript] 배열1 (0) | 2023.03.09 |