Saem

정규식 사용해서 유효성 검사하기 ( 2 )

  1. Name Validation

    const nameRegex = /^[ㄱ-ㅎ|가-힣|a-z|A-Z|\\*]+$/
    
    export const checkName = (name) => {
      if(nameRegex.test(name)) {
        return '사용가능한 이름입니다.'
      } else {
        return '이름을 정확히 입력해주세요.'
      }
    
    checkName('') // '이름을 정확히 입력해주세요.'
    checkName('12') // '이름을 정확히 입력해주세요.'
    checkName('ㅁㄴㅇㄹ') // '사용가능한 이름입니다.'
    checkName('가나다ㅎ') // '사용가능한 이름입니다.'
    
    const nameRegex = /^[가-힣|a-z|A-Z|\\*]+$/
    
    export const checkName = (name) => {
      if(nameRegex.test(name)) {
        return '사용가능한 이름입니다.'
      } else {
        return '이름을 정확히 입력해주세요.'
      }
    
    checkName('') // '이름을 정확히 입력해주세요.'
    checkName('12') // '이름을 정확히 입력해주세요.'
    checkName('ㅁㄴㅇㄹ') // '이름을 정확히 입력해주세요.'
    checkName('가나다ㅎ') // '이름을 정확히 입력해주세요.'
    
  2. Email Validation

The general format of an email address is local-part@domain, and a specific example is [email protected]. An address consists of two parts. The part before the @ symbol (local-part) identifies the name of a mailbox. This is often the username of the recipient, e.g., jsmith.

Email address - Wikipedia

const emailRegex = /^[a-zA-Z0-9-_]@[a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/

// [a-zA-Z0-9-_] : 영문 소, 대문자, 숫자, 특수문자 -_ 사용가능
// @[a-zA-Z]([-_.]?[0-9a-zA-Z]) : @뒤에 영문 소,대문자 특수문자[-_.]은 [0-9a-zA-Z]뒤에 일치시킴.
// .[a-zA-Z]{2,3} : 도메인 뒤에 2~3자리 ex) .co .com etc.

export const checkEmail = (email) => {
  if(emailRegex.test(email)) {
    return '사용 가능한 이메일 주소입니다.'
  } else {
    return '잘못된 이메일 주소입니다.'
  }
}

checkEmail('') // '잘못된 이메일 주소입니다.'
checkEmail('12@aa.') // '잘못된 이메일 주소입니다.'
checkEmail('a-b-22@naver') // '잘못된 이메일 주소입니다.'
checkEmail('-a@n') // '잘못된 이메일 주소입니다.'
checkEmail('-a@naver..') // '잘못된 이메일 주소입니다.'
checkEmail('[email protected]') // '사용 가능한 이메일 주소입니다.'
const emailRegex = /^[a-zA-Z0-9-_]+@[a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$/

export const checkEmail = (email, n, k) => {
  let emailId = email.split('@')[0]
  if(emailRegex.test(email)) {
		if(emailId.length < n) {
			return console.log('아이디는 '+ n + '자 이상이어야 합니다.')
		} else if(emailId.length > k) {
			return console.log('아이디는 '+ k + '자를 초과할 수 없습니다.')
		} else if(n < emailId.length && emailId.length < k) {
			return console.log('사용가능한 이메일 주소입니다.')
    }
  } else {
    return console.log('잘못된 이메일 주소입니다.')
  }
}

checkEmail('[email protected]',3,10) // '사용 가능한 이메일 주소입니다.'
checkEmail('[email protected]',3,10) // '사용 가능한 이메일 주소입니다.'
checkEmail('[email protected]',3,10) // '사용 가능한 이메일 주소입니다.'

춘식


Golang