JavaScript - String

HYUK·2022년 12월 28일
0

1. 문자 길이

String형도 .length로 길이를 확인할 수 있습니다. 예를 들어 회원가입 시 입력하는 이름, 휴대폰 번호 등을 올바르게 입력했는지 확인할 때 유용하게 활용할 수 있습니다.

if(phoneNumber.length !==11){
	alret('휴대폰 번호를 올바르게 입력해주세요!');
}
const name = prompt('성함을 입력해주세요.');

if(name.length === 2){
	alret('외자이시군요! 이름이 이쁘네요.');
}else if(name.length === 1){
	alert('제대로 입력하셨나요?');
}else{
	alert('멋진 이름입니다.');
}

*참고
Number형에는 length 라는 속성이 존재하지 않습니다. 그렇기 때문에, length 속성을 이용하려면 아래와 같이 String형으로 저장해야합니다.

const phoneNumber = "01012349876";

console.log(phoneNumber);
console.log(phoneNumber.length);

2. 문자열 찾기

indexOf : indexOf 메서드는 특정 문자열이 포함되어있는지 확인하고, 만약 있다면 몇 번 째 순서에 해당 문자열이 있는지 알려 줍니다. 그리고 해당 문자열이 없다면 -1을 반환합니다.

slice : slice 메서드는 이름 그대로, 텍스트를 잘라주는 함수입니다.

slice(잘리는 시작위치, 잘리는 끝위치)

// *잘리는 끝위치의 문구는 반환시 포함되지 않습니다.

위에 메서드를 사용하는 예를 들면 아래 코드와 같다.

let info = 'JavaScript는 프로래밍 언어이다.';
const firstChar = info.indexOf('프로래밍');
// indexOf로 문자열의중에서 '프로래밍'의 위치를 찾아준다.

console.log(info, firstChar);
//JavaScript는 프로래밍 언어이다., 12
//12는 '프로래밍'의 index를 출력한것임

if(firstChar !== -1){ 
// firstChar가 '프로래밍'이라는 문자가 포함된게 아닌게 아니라면 이라는조건
	info = info.slice(0, firstChar) + '프로그래밍' + info.slice(firstChar + 4, info.length);
    // slice메서드를 이용하여 문자열 조합
}

console.log(info)
// JavaScript는 프로그래밍 언어이다.

Assignment

sliceCityFromAddress 함수를 구현해 주세요.

  • sliceCityFromAddress 함수는 address를 인자로 받습니다.
  • address는 주소를 나타내는 string 입니다.
  • 주어진 주소에서 도시를 찾아 삭제하고 새로운 주소를 반환해 주세요.
  • 이 때, 도시는 무조건 "시"라는 단어로 끝납니다. 예) "서울특별시", "성남시"
  • "시"는 주소에 단 한번만 포함되어 있습니다.
  • 예를 들어 다음과 같은 주소가 주어졌다면,

"경기도 성남시 분당구 중앙공원로 53" / "서울특별시 강남구 테헤란로 427 위워크타워"

  • 다음과 같은 값이 반환되어야 합니다.

"경기도 분당구 중앙공원로 53" / "강남구 테헤란로 427 위워크타워"

let address = '경기도 성남시 분당구 중앙공원로 53';
let withoutSi = address.indexOf('성남시'); 
// '성남시'라는 문자가 있는지 확인하고 index까지 확인

console.log('index : ', withoutSi)
// index : 4

function sliceCityFromAddress(address){
	if(withoutSi !== '-1'){
// '성남시'라는 문자가 포함안된게 아니라면 이라는 조건문
    	return address.slice(0, 4) + address.slice(withoutSi+4, address.length)
// slice메서드로 문자열 편집
    }
}

console.log(sliceCityFromAddress(address))

//"경기도 분당구 중앙공원로 53"
profile
step by step

0개의 댓글