🌟 220705.TIL

UniverseΒ·2022λ…„ 7μ›” 6일
0

study

λͺ©λ‘ 보기
11/49
post-custom-banner

문자λ₯Ό κ²€μ‚¬ν•˜λŠ” κ°€μž₯ μ‰¬μš΄ 방법

'abc'.includes('a')
= true
'abc'.includes('d')
= false

μ–΄λ–€ λ¬Έμžκ°€ ν¬ν•¨λ˜μ–΄ μžˆλŠ”μ§€ 검사
λ“€μ–΄μžˆλ‹€λ©΄ true / λ“€μ–΄μžˆμ§€ μ•Šλ‹€λ©΄ false
ν•œκ³„μ  : ν•œκΈ€μ΄ λ“€μ–΄μžˆλƒ, μ˜μ–΄κ°€ λ“€μ–΄μžˆλƒ 이런건 λͺ»ν•¨ / μˆ«μžκ°€ 1회 μΆœν˜„ν•˜λƒ, μ–΄λ–€ 문자둜 λλ‚˜λƒ

κ·Έλž˜μ„œ λ‚˜μ˜¨ κ°œλ…μ΄ μ •κ·œμ‹

/a/.test('abcde')
문자.ν…ŒμŠ€νŠΈ(κ²€μ‚¬λ‹Ήν• λ¬Έμž)
= true

/[a-z]/.test('abcde')
= true // μ˜μ–΄ μ†Œλ¬Έμžκ°€ λ“€μ–΄μžˆλŠ”μ§€

/[A-Z]/.test('Abcde')
= true / μ˜μ–΄ λŒ€λ¬Έμžκ°€ λ“€μ–΄μžˆλŠ”μ§€

/[a-zA-z]/.test('dsflkajdlk')
= true / μ˜μ–΄ λ¬Έμžκ°€ λ“€μ–΄μžˆλŠ”μ§€

/[γ„±-γ…Žκ°€-힣]/.test('γ…‹γ…‹γ…‹γ…‹γ…‹')
= true / ν•œκΈ€μ΄ λ“€μ–΄κ°”λŠ”μ§€

/[0-9]/.test('0000')
= true / μˆ«μžκ°€ λ“€μ–΄κ°”λŠ”μ§€

/\s/.test('ddds')
= true / 특수문자λ₯Ό ν¬ν•¨ν•œ 문자 1κ°œκ°€ λ“€μ–΄μžˆλŠ”μ§€

/^a/.test('adslfkj')
= true / a둜 μ‹œμž‘ν•˜λŠ”μ§€

/a$/.test('dsfsda')
= true / a둜 λλ‚˜λŠ”μ§€

/a|b/.test('aaaa')
= true / a λ˜λŠ” bκ°€ λ“€μ–΄κ°€λŠ”μ§€

/\s+@\s+\.\s+/.test('aaa@bbb.ccc')
= true / 이메일 ν˜•μ‹ 검사

μ˜μ–΄λ‘œλŠ” regular expression 라고 ν•œλ‹€

μ •κ·œν‘œν˜„μ‹μ— λŒ€ν•œ μžμ„Έν•œ λ‚΄μš©

μ •κ·œν‘œν˜„μ‹ 참고자료

To do

  • μ •κ·œν‘œν˜„μ‹μ„ μ΄μš©ν•œ ID, PW 인증 κ΅¬ν˜„

였늘 μΆ”κ°€ν•œ μ½”λ“œ

 		// idκ°€ μž…λ ₯λ˜μ§€ μ•Šμ•˜κ±°λ‚˜ pwκ°€ μž…λ ₯λ˜μ§€ μ•Šμ•˜κ±°λ‚˜ 6κΈ€μž μ΄ν•˜μΌκ²½μš° λ‘œκ·ΈμΈν•  수 없도둝 κ΅¬ν˜„
        // μΆ”κ°€κΈ°λŠ₯ : idμž…λ ₯이 이메일 μ •κ·œμ‹μ„ λ”°λ₯΄λŠ”지, pwμž…λ ₯이 λΉ„λ°€λ²ˆν˜Έ μ •κ·œμ‹μ„ λ”°λ₯΄λŠ”지

        const $loginSubmit = document.querySelector('#loginSubmit');
        const $usernameInput = document.querySelector('#usernameInput');
        const $passwordInput = document.querySelector('#passwordInput');
        const emailRegularex = /^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/i; // 이메일 μ •κ·œμ‹
        const passwordRegularex = /^.*(?=^.{8,15}$)(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&+=]).*$/; // λΉ„λ°€λ²ˆν˜Έ μ •κ·œμ‹

        $loginSubmit.addEventListener('click', function(e){
            //if($usernameInput.value == ''){
            //     alert('Please enter the correct E-mail address');
            //     e.preventDefault();
            //     return;
            // } else if (($passwordInput.value == '') || ($passwordInput.value.length < 6)){
            //     alert('Please enter the correct PassWord');
            //     e.preventDefault();
            //     return;
            // } else {
                // μ •κ·œμ‹ κ²€μ‚¬λ§ŒμœΌλ‘œ 이메일 곡백검사, νŒ¨μŠ€μ›Œλ“œ μœ νš¨μ„± 검사가 κ°€λŠ₯ν•˜λ‹ˆκΉŒ ifλ₯Ό λ‘λ²ˆ μ“Έ ν•„μš”κ°€ μ—†λ‹€
                // return; ꡬ문을 μΆ”κ°€ν•˜μ—¬ 첫번째 쑰건을 λ§Œμ‘±ν•˜μ§€ μ•ŠμœΌλ©΄ λ„˜μ–΄κ°€μ§€ μ•Šλ„λ‘ μ„€μ •
                if (emailRegularex.test($usernameInput.value) === false) {
                    alert('Invalid email format');
                    e.preventDefault();
                    return;
                } if (passwordRegularex.test($passwordInput.value) === false) {
                    alert('Invalid Password format');
                    e.preventDefault();
                    return;
                }
            }
        // });
        );

μΊλŸ¬μ…€ λ§Œλ“€κΈ°

UI λ§Œλ“œλŠ” 기본법칙

  1. μ‹œμž‘ν™”λ©΄ λ§Œλ“€κΈ°
  2. μ΅œμ’…ν™”λ©΄ λ§Œλ“€κΈ°
  3. 원할 λ•Œ μ΅œμ’…ν™”λ©΄μœΌλ‘œ λ³€ν•˜κ²Œ
  4. transition : all 1s;

μƒˆλ‘œ 배운 문법

transform: translateX(-100vw);
// xμΆ•μœΌλ‘œ μš”μ†Œ 이동

To do

  • μΊλŸ¬μƒλ‘œ 1,2,3 λ²„νŠΌ λˆ„λ₯΄λ©΄ 사진이동
  • 사진 λ’€λ‘œκ°€κΈ°, μ•žμœΌλ‘œ κ°€κΈ°

μΆ”κ°€ν•œ μ½”λ“œ

// μΊλŸ¬μƒ λ²„νŠΌμ΄λ™ κ΅¬ν˜„
// 1,2,3 에 이미지 λ„˜λ²„λ₯Ό λ‹¬μ•„μ€˜μ„œ λ‹€μŒ, μ΄μ „λ²„νŠΌμ„ 클릭해도 μˆ˜μ›”ν•˜κ²Œ λ„˜μ–΄κ°ˆ 수 있게 κ΅¬ν˜„
const $slideContainer = document.querySelector('.slide-container').style;
let imgNumber = 0;
	function imgHandler(e){
	  $slideContainer.transform = 'translateX(-' + e + '00vw)';
	  }
	  document.querySelector('.slide-1').addEventListener('click', function(){
	    imgHandler(0);
	    imgNumber = 0;
        });
	  document.querySelector('.slide-2').addEventListener('click', function(){
	    imgHandler(1);
	    imgNumber = 1;
        });
      document.querySelector('.slide-3').addEventListener('click', function(){
        imgHandler(2);
        imgNumber = 2;
        });
	  document.querySelector('.slide-4').addEventListener('click', function() {
        if(imgNumber < 2){
          imgNumber++;
          imgHandler(imgNumber);
          }
        })
document.querySelector('.slide-5').addEventListener('click', function() {
        if(imgNumber > 0){
          imgNumber--;
          imgHandler(imgNumber);
        }
    })

Function κ³Ό addEventListener

μ΄κ±°λ•Œλ¬Έμ— ν•˜λ£¨μ’…μΌ κ³ μƒν–ˆλŠ”λ°

function imgHandler(e){
  $slideContainer.transform = 'translateX(-' + e + '00vw)';
}

// 이거λ₯Ό

document.querySelector('.slide-2').addEventListener('click', imgHandler(100))

// μ΄λ ‡κ²Œ λ„£μœΌλ €κ³  ν•˜λ‹ˆ κΈ°λŠ₯싀행이 λ˜μ§€ μ•ŠμŒ
// ν•¨μˆ˜ μžλ¦¬λ‹ˆκΉŒ ν•¨μˆ˜κ°€ λ“€μ–΄κ°€λ©΄ μ–ΌμΆ” λ§žκ² κ±°λ‹ˆ ν–ˆλŠ”λ° μ•ˆλ¨
// 이벀트 λ¦¬μŠ€λ„ˆμ— ν•¨μˆ˜ νŒŒλΌλ―Έν„°λ₯Ό μ „λ‹¬ν•˜λ €λ©΄ 읡λͺ…ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•΄μ•Ό λœλ‹€κ³  함

// κ²°κ΅­μ—”

document.querySelector('.slide-2').addEventListener('click', function(){
  imgHandler(1);
});
// μ΄λŸ°μ‹μœΌλ‘œ κ³ μ³μ„œ ν•΄κ²°ν–ˆλ‹€

μ˜€λŠ˜μ€ 정말 λŠλ‚€κ²Œ λ§Žλ‹€

이제 λΆ€μ‘±ν•˜κ²Œλ‚˜λ§ˆ κ²€μƒ‰ν•˜λ©΄ μ‚¬μ†Œν•œ κΈ°λŠ₯μ •λ„λŠ” μΆ”κ°€ν•  수 μžˆλ‹€κ³  λΏŒλ“―ν•΄ν–ˆλŠ”λ°,
곡뢀λ₯Ό ν•˜λ©΄ ν• μˆ˜λ‘ λͺ¨λ₯΄λŠ”κ²Œ 더 λ§Žμ•„μ§€λŠ”
심지어 λ‚΄κ°€ λͺ¨λ₯΄λŠ”뢀뢄을 μ–΄λ–€μ‹μœΌλ‘œ ν•΄κ²°ν•΄μ•Ό 할지 λ„μ €νžˆ λͺ¨λ₯΄κ² λ‹€κ³  λŠκΌˆλ‹€
κ·Έλž˜λ„ ν™•μ‹€νžˆ μž¬λ°Œλ‹€
μ •λ§λ‘œ 머리λ₯Ό 계속 κ΅΄λ¦¬λ‹ˆκΉŒ μ‚΄μ•„μžˆλ‹€λŠ” κ±Έ λŠλ‚€λ‹€
ν•˜λ‚˜ν•˜λ‚˜ 해결이 λ λ•Œλ§ˆλ‹€, κΆκΈˆμ¦μ„ ν•΄κ²°ν•  λ•Œ λ§ˆλ‹€ λ„ˆλ¬΄ κΈ°μ˜λ‹€
πŸ₯³

profile
Always, we are friend 🧑
post-custom-banner

0개의 λŒ“κΈ€