본문 바로가기
IT/JavaScript

[javascript] - 내장객체(문자열)

by on sunday 2019. 12. 26.
728x90
반응형

 

 

문자열 객체

문자열 객체는 문자형 데이터를 객체로 취급하는 것으로, 자바스크립트에서 가장 많이 사용합니다.

아래는 기본형 예시입니다.

var 변수 = new String(문자형 데이터)
var t = new String("Hellow javascript");	//문자열 객체 생성

var 변수 = 문자형 테이터
var  t = "Hellow javascript";	//문자열 객체 생성

 

문자열 - 메서드 및 속성

종류 설명
charAt(index)  인덱스 번호에 해당하는 문자를 반환합니다.
indexOf("찾을 문자")  왼쪽부터 찾을 문자와 일치하는 문자를 찾아 제일 먼저 일치하는 문자의 인덱스 번호를 반환합니다. 만일 찾는 문자가 없으면 -1을 반환합니다.
lastIndexOf("찾을 문자")  오른쪽부터 찾을 문자와 일치하는 문자를 찾아 제일먼저 일치하는 문자의 인덱스 번호를 반환합니다. 만일 찾는 문자가 없으면 -1을 반환합니다.
march("찾을 문자")  왼쪽부터 찾을 문자와 일치하는 문자를 찾아 제일 먼저 찾은 문자를 반환합니다. 만일 찾는 문자가 없으면 null을 반환합니다.
replace("바꿀문자","새문자")  왼쪽부터 찾을 문자와 일치하는 문자를 찾아 제일 먼저 찾은 문자를 새 문자로 바꿉니다.
search("찾을 문자") 왼쪽부터 찾을 문자와 일치하는 문자를 찾아 제일 먼저 일치하는 인덱스 번호를 반환합니다.
slice(a,b) a개의 문자를 자르고 b번째 문자를 자른 후 남은 문자를 반환합니다.
substring(a,b) a인덱스부터 b인덱스 이전 구간의 문자를 반환합니다.
substr(a,문자 개수) a인덱스부터 지정한 문자 개수만큼 문자열을 반환합니다.
split("문자") 지정한 문자를 기준으로 문자 데이터를 나누어 배열에 저장하여 반환합니다.
toLowerCase() 대문자를 모두 소문자로 바꿉니다.
toUpperCase() 소문자를 모두 대분자로 바꿉니다.
length 문자의 개수를 반환합니다.
concat("새로운문자") 새로운 문자열을 추가합니다.
charCodeAt(index) 문자열 index에 해당 문자의 아스키 코드값을 반환합니다.
fromCharCode(아스키코드값) 아스키 코드값에 해당하는 문자를 반환합니다.
trim() 문자의 앞 또는 뒤에 공백 문자열을 삭제합니다.

 

아스키 코드값 확인(사이트로 이동합니다.)

 

 

 

var t = "Hello Thank you good luck to you"

document.write(t.charAt(16),"<br/>");
//16번째에 저장된 문자를 불러옵니다 = g

document.write(t.indexOf("you"),"<br/>");
//왼쪽부터 you의 값을 반환합니다 = 12

document.write(t.indexOf("you","16"),"<br/>");
//16번쨰 위치부터 시작해서 you의 값을 반환합니다 = 29

document.write(t.lastIndexOf("you"),"<br/>");
//오른쪽부터 you의 값을 반환합니다 = 29

document.write(t.lastIndexOf("you",25),"<br/>");
//25부터 왼쪽으로 제일먼저 있는 you의 값을 반환합니다 = 12

document.write(t.match("luch"),"<br/>");
//왼쪽부터 제일먼저있는 luck와 같은 문자를 찾아 반환합니다 = luck

document.write(t.search("you"),"<br/>");
//왼쪽부터 제일먼저있는 you의 인덱스 값을 반환합니다 = 12

document.write(t.substr(21,4),"<br/>");
//21부터 네글자를 가져옵니다 = luck

document.write(t.substring(6,12),"<br/>");
//6~12 이전 까지의 문자를 가져옵니다 = Thank

document.write(t.replace("you","me"),"<br/>");
//왼쪽부터 제일 먼저 있는 you를 me로 치환합니다 

document.write(t.toLowerCase(),"<br/>");
// 소문자로 반환

document.write(t.toUpperCase(),"<br/>");
// 대문자로 반환

document.write(t.length,"<br/>");
//문자 총 개수를 반환합니다 (공백포함 + 1)

var s=t.split(" ");
//공백문자를 기준으로 문자를 분리합니다. 
//분리된 문자열은 배열에 저장되어 s에 할당합니다 = hellow 

document.write(s[0],"<br/>");
//s에 0에 저장된 문자열을 출력합니다. Hello

document.write(s[4],"<br/>");
//s에 4에 저장된 문자열을 출력합니다. luck

var str="A";
var t=str.charCodeAt(0);
//변수에 저장된 문자열 중 0번 인덱스의 문자 A의 아스키 코드값을 반환합니다.

document.write(t);
//A의 아스키 코드값 65를 출력합니다.

document.write(String.formCharCode("65"),"<br/>");
//코드값 65에 해당하는 문자를 반환합니다.
H e l l o   T h a n k   y o u   g o o d
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

 

  l u c k   t o   y o u
20 21 22 23 24 25 26 27 28 29 30 31

t의 참조변수 값입니다. 0부터 시작하여 공백을 포함합니다.

 

 

결과값 ↓

g
12
29
29
12
null
12
luck
Thank
Hello Thank me good luck to you
hello thank you good luck to you
HELLO THANK YOU GOOD LUCK TO YOU
32
Hello
luck
65

 

 

var userName=prompt("당신의 영문 이름은?","");

var upperName=userName.toUpperCase();
document.write(upperName,"<br>");

var userNum=prompt("당신의 연락처는?","");
var result=userNum.substring(0,userNum.length -4) + "****";
document.write(result,"<br>");

 

--> 결과값 처음 프롬프터에 입력한 이름 + 연락처 번호(뒤에서 네자리는 ****처리됩니다)

 

 

var userEmail=prompt("당신의 이메일 주소는?","");
var arrUrl=[".co.kr",".com",".net",".co.kr",".go.kr"];

var check1=false;
var check2=false;

if(userEmail.indexOf("@")>0){check1=true;}

for(var i=0; i<arrUrl.length;i++){
	if(userEmail.indexOf(arrUrl[i])>0){
		check2=true;
	}
}

if(check1 && check2){
	document.write(userEmail);
}else{
	alert("이메일 형식이 잘못되었습니다.")
}

 

프롬프터에 이메일 형식을 잘 입력했으면 입력한 이메일을 출력하고,

잘못 입력했을 경우에는 이메일 형식이 잘못되었습니다 경고창이 나타납니다.

 

728x90
반응형

댓글