
자바스크립트를 이용해서 설정에 따라
적용된 글자를 미리 보는 간단한 프로그램이다.
주로 getElementByID와 String 메서드를 사용한다.
HTML
<body>
<div>
<input type="text" id="onText">
<button onclick="previewStr()">미리 보기</button>
<br>
색상:
<select id="color">
<option value = "red">빨강</option>
<option value = "blue">파랑</option>
<option value = "green">녹색</option>
</select>
<br>
크기:
<select id="size">
<option value = "1">1</option>
<option value = "2">2</option>
<option value = "3">3</option>
<option value = "4">4</option>
<option value = "5">5</option>
<option value = "6">6</option>
<option value = "7">7</option>
</select>
<br>
<table>
<tr>
<td><input name="fontOption" type="checkbox" value="strike">취소선</td>
<td><input name="fontOption" type="checkbox" value="big">크게</td>
<td><input name="fontOption" type="checkbox" value="small">작게</td>
<td><input name="fontOption" type="checkbox" value="bold">두껍게</td>
<td><input name="fontOption" type="checkbox" value="italics">기울임</td>
</tr>
<tr>
<td><input name="fontOption" type="checkbox" value="sub">위첨자</td>
<td><input name="fontOption" type="checkbox" value="sup">아래첨자</td>
<td><input name="fontOption" type="checkbox" value="upper">소문자로</td>
<td><input name="fontOption" type="checkbox" value="lower">대문자로</td>
</tr>
</table>
<span id="resultStr"></span>
</div>
</body>
document 객체의 getElementByID(), getElementsByName(), getElementsByTagName()
메서드를 사용할 것이기 때문에 최대한 필터링하기 편하도록 HTML에서 태그들의 Id와 Name을 지정한다.
JavaScript 코드
<script language="javascript">
function previewStr(){
//입력된 문자 가져옴
var result = document.getElementById("onText").value;
//글자색 넣기
var selectedColor = document.getElementById("color").value;
result = result.fontcolor(selectedColor);
//글자옵션
var fontOptions = document.getElementsByName("fontOption");
var checkedFontOptions = [];
//체크된 것만 array에 추가
for(var i=0; i<fontOptions.length; i++){
if(fontOptions[i].checked){
checkedFontOptions.push(fontOptions[i].value);
}
}
//폰트옵션 적용
for(var i=0; i<checkedFontOptions.length; i++){
if(checkedFontOptions[i] == "strike"){
result = result.strike();
}
else if(checkedFontOptions[i] == "big"){
result = result.big();
}
else if(checkedFontOptions[i] == "small"){
result = result.small();
}
else if(checkedFontOptions[i] == "bold"){
result = result.bold();
}
else if(checkedFontOptions[i] == "italics"){
result = result.italics();
}
else if(checkedFontOptions[i] == "sub"){
result = result.sub();
}
else if(checkedFontOptions[i] == "sup"){
result = result.sup();
}
else if(checkedFontOptions[i] == "upper"){
result = result.toLowerCase();
}
else if(checkedFontOptions[i] == "lower"){
result = result.toUpperCase();
}
}
//글자크기
var selectedSize = document.getElementById("size").value;
result = result.fontsize(selectedSize);
document.getElementById("resultStr").innerHTML = result;
}
</script>
* 전체코드 더보기
더보기
<html>
<head>
<title>글자 미리보기</title>
<script language="javascript">
function previewStr(){
//입력된 문자 가져옴
var result = document.getElementById("onText").value;
//글자색 넣기
var selectedColor = document.getElementById("color").value;
result = result.fontcolor(selectedColor);
//글자옵션
var fontOptions = document.getElementsByName("fontOption");
var checkedFontOptions = [];
//체크된 것만 array에 추가
for(var i=0; i<fontOptions.length; i++){
if(fontOptions[i].checked){
checkedFontOptions.push(fontOptions[i].value);
}
}
//폰트옵션 적용
for(var i=0; i<checkedFontOptions.length; i++){
if(checkedFontOptions[i] == "strike"){
result = result.strike();
}
else if(checkedFontOptions[i] == "big"){
result = result.big();
}
else if(checkedFontOptions[i] == "small"){
result = result.small();
}
else if(checkedFontOptions[i] == "bold"){
result = result.bold();
}
else if(checkedFontOptions[i] == "italics"){
result = result.italics();
}
else if(checkedFontOptions[i] == "sub"){
result = result.sub();
}
else if(checkedFontOptions[i] == "sup"){
result = result.sup();
}
else if(checkedFontOptions[i] == "upper"){
result = result.toLowerCase();
}
else if(checkedFontOptions[i] == "lower"){
result = result.toUpperCase();
}
}
//글자크기
var selectedSize = document.getElementById("size").value;
result = result.fontsize(selectedSize);
document.getElementById("resultStr").innerHTML = result;
}
</script>
</head>
<body>
<div>
<input type="text" id="onText">
<button onclick="previewStr()">미리 보기</button>
<br>
색상:
<select id="color">
<option value = "red">빨강</option>
<option value = "blue">파랑</option>
<option value = "green">녹색</option>
</select>
<br>
크기:
<select id="size">
<option value = "1">1</option>
<option value = "2">2</option>
<option value = "3">3</option>
<option value = "4">4</option>
<option value = "5">5</option>
<option value = "6">6</option>
<option value = "7">7</option>
</select>
<br>
<table>
<tr>
<td><input name="fontOption" type="checkbox" value="strike">취소선</td>
<td><input name="fontOption" type="checkbox" value="big">크게</td>
<td><input name="fontOption" type="checkbox" value="small">작게</td>
<td><input name="fontOption" type="checkbox" value="bold">두껍게</td>
<td><input name="fontOption" type="checkbox" value="italics">기울임</td>
</tr>
<tr>
<td><input name="fontOption" type="checkbox" value="sub">위첨자</td>
<td><input name="fontOption" type="checkbox" value="sup">아래첨자</td>
<td><input name="fontOption" type="checkbox" value="upper">소문자로</td>
<td><input name="fontOption" type="checkbox" value="lower">대문자로</td>
</tr>
</table>
<span id="resultStr"></span>
</div>
</body>
</html>
String 메서드

https://www.w3schools.com/jsref/jsref_obj_string.asp
JavaScript String Reference
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
참고 문헌 : w3schools.com
'Front-End > HTML, CSS, JS' 카테고리의 다른 글
[JS] 회원가입 페이지 사용자 입력 유효성 검사 (정규식, 비정규식) (0) | 2022.09.14 |
---|---|
[JS] 자바스크립트 공학용 계산기 만들기 (1) | 2022.09.13 |
[HTML] <form>을 사용한 로그인 페이지 구현 (audio 음악재생) (0) | 2022.09.10 |