Hello guys in this tutorial we will create character count using HTML CSS & JavaScript
First we need to create two files index.html and style.css then we need to do code for it.
Step:1
Add below code inside index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>JavaScript input text counter</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta https-equiv="X-UA-Compatible" content="ie=edge" />
<link rel="stylesheet" href="style.css" />
<link href="https://fonts.googleapis.com/css2?family=IBM+Plex+Sans&display=swap" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</head>
<body>
<div class="field_outer">
<div class="field">
<textarea name="textarea" id="the-textarea" maxlength="100" placeholder="Enter your message..."></textarea>
<div class="length_outer" id="the-count">
<div id="current">0</div>
<div id="maximum">/ 100</div>
</div>
</div>
</div>
<script type="text/javascript">
$('textarea').keyup(function () {
var charCout = $(this).val().length,
current = $("#current"),
maximum = $("#maximum"),
theCount = $("#the-count");
current.text(charCout);
if (charCout == 100) {
alert("Max Limit 100");
}
if (charCout < 30) {
current.css("color", "#666");
}
if (charCout > 60 && charCout < 80) {
current.css("color", "#8a4343");
}
if (charCout > 80 && charCout < 90) {
current.css("color", "#bd3131");
}
if (charCout >= 90) {
maximum.css("color", "#da1515");
current.css("color", "#da1515");
theCount.css("font-weight", "bold");
}else {
maximum.css("color", "#000");
theCount.css("font-weight", "normal");
}
})
</script>
</body>
</html>Step:2
Then we need to add code for style.css which code i provide in below screen.
* {
padding: 0;
margin: 0;
font-family: 'IBM Plex Sans', sans-serif;
}
.field_outer {
display: flex;
align-items: center;
justify-content: center;
height: 100vh;
}
textarea#the-textarea {
font-size: 18px;
padding: 10px 20px;
outline: 0;
border: 1px solid #4b00ff;
height: 150px;
min-width: 320px;
}
.length_outer {
position: absolute;
bottom: 5px;
left: 1px;
font-size: 12px;
color: #000;
background: #f1f2f3;
display: flex;
padding: 5px;
}
.field {
position: relative;
}
