본문 바로가기

Javascript

javascript - string 여러가지 활용

728x90
첫글자만 대문자로 바꾸기

toUpperCase, slice 활용

const airline = 'korea airline';

const pass = airline[0].toUpperCase() + airline.slice(1)
console.log(pass)

 

이메일이 일치하는지 검사

trim, toLowerCase, replaceAll 활용

const email = 'kmc@naver.com';
const login = ' KMc@ naver.com \n';

console.log(login.trim().toLowerCase().replaceAll(/\s/g,'') === email)

trim의 경우 맨 앞부분, 뒷부분의 space를 제거해주지만, 중간에 들어있는 space는 제거하지 못하기 때문에

replaceAll 을 사용하여 중간의 빈칸들을 제거했습니다.

이런 활용법들은 구글링을 통해 stackoverflow 등을 찾아보는것이 좋습니다.

 

replace, replaceAll 활용
const price1 = '288,97$'
// 각 문자들을 변환
const price = price1.replace('$', '5').replace(',','.')
console.log(price)

// 모든 door를 all로 변환
const ano = 'All door is door 23';
console.log(ano.replaceAll('door','all'))

 

 

문자가 해당 문자열로 시작하는지 또는 끝나는지 확인

startsWith, endsWith 활용

const ano = 'All door is door 23';

if(ano.startsWith('All') && ano.endsWith('23'))
  console.log('ok')

 

 

문자열 나누기

split 활용

console.log('a+b+casdad+asdads+wwqwdw'.split('+'));

// 첫 글자만 대문자로 변환
const cap = function(name) {
  const names = name.split(' ');
  const nameU = [];

  for(let n of names) {
    nameU.push(n[0].toUpperCase() + n.slice(1))
  }
  console.log(nameU);
}

cap('asdasd qaswdwg qwgbdfb');

split의 경우 해당 문자를 기준으로 나눈 결과를 배열로 반환해주게 됩니다.

 

 

패딩 채워넣기

padStart, padEnd 활용

const message = 'Go to gate 23';
console.log(message.padStart(25, '+'))
console.log('overaction'.padStart(25, '+'))

console.log(message.padStart(25, '+').padEnd(35, '+'))
console.log('overaction'.padStart(25, '+').padEnd(35,'+'))

정해진 숫자의 길이가 되도록 우리가 정한 문자로 앞에서 또는 뒤에서 채워주게 됩니다.

 

카드 뒷번호만 보이게 하기

const creditCard = function(num) {
  // string으로 변환
  const str = num + '';
  
  const last = str.slice(-4);
  return last.padStart(str.length,'*')
}

console.log(creditCard(47874312984798));
console.log(creditCard('124938499402002521'));

 

string의 기능을 활용할 때는 여러가지 기능을 외우려고 하기 보다는

필요한 부분을 검색하는 것이 좋다고 생각합니다.

728x90