Skip to content

Commit b65a4b2

Browse files
Merge pull request #1050 from aswinisamantray/extra-features-word-counter
Longest Word
2 parents 7e59f11 + 4cc6967 commit b65a4b2

File tree

2 files changed

+66
-5
lines changed

2 files changed

+66
-5
lines changed

Public/word-count-calculator.html

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@
22
<html lang="en">
33
<head>
44
<meta charset="utf-8">
5-
<title>Word length calculator</title>
5+
<title>Text Analyzer</title>
66
<meta name="description" content="word length calculator">
77
<meta name="viewport" content="width=device-width, initial-scale=1">
88
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
9+
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
10+
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-w76AqPfDkMBDXo30jS1Sgez6pr3x5MlQ1ZAGC+nuZB+EYdgRZgiwxhTBTkF7CXvN" crossorigin="anonymous"></script>
911

1012
</head>
1113

@@ -19,20 +21,30 @@
1921
</div>
2022
</div>
2123
</nav>
24+
2225
<div class="input-group">
2326
<div class="input-group-prepend">
2427

2528
</div>
26-
<textarea class="form-control mx-5 my-5 text-success" id="textcontent" aria-label="Large"></textarea>
29+
<textarea class="form-control mx-5 my-5 text-success" id="textcontent" aria-label="Large" placeholder="Enter text here..."></textarea>
2730
</div>
2831
<div class="container text-secondary">
29-
Count of following parameters is displayed here-
32+
<h2>Your text summary</h2>
33+
<hr style="color: brown; height: 2px;">
3034
<div id="countWord"></div>
3135
<div id="countcharacter"></div>
3236
<div id="countalphabets"></div>
33-
37+
<div id="longestWord"></div>
38+
<div id="longestWordlength"></div>
39+
<!-- <button id="copyButton" class="btn btn-success my-2 mx-2" type="submit" >Copy</button>
40+
<button id="pasteButton" class="btn btn-danger my-2 mx-2" type="submit" >Paste</button> -->
3441
</div>
3542

43+
<div class="search my-2">
44+
<input class="form-control me-2" type="search" placeholder="Enter a word to know its frequency..." id="searchText" aria-label="Search"/>
45+
<button id="searchButton" class="btn btn-primary my-2 mx-2" type="submit" >Search</button>
46+
<div id="frequency"></div>
47+
</div>
3648
<script src="../assets/Js/word-count-calculator.js"></script>
3749

3850
</body>

assets/Js/word-count-calculator.js

Lines changed: 50 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,45 @@ function count_alphabets(val){
1616
return 0;
1717
}
1818

19+
function longest(val){
20+
21+
let sentence=val.split(" ");
22+
let longestWord=sentence.reduce(function(a,b){
23+
if(a.length>b.length) return a;
24+
return b;
25+
},"");
26+
return longestWord;
27+
}
28+
29+
function search(val,search){
30+
let sentence=val.split(" ");
31+
let count=0;
32+
if(search=='')
33+
return 0;
34+
for(let i=0;i<sentence.length;i++){
35+
if(sentence[i]==search && sentence[sentence.length-1]!=" ") {
36+
count=count+1;
37+
}
38+
}
39+
return count;
40+
}
41+
42+
1943
var textContent = document.getElementById("textcontent");
2044
var showWordCount = document.getElementById("countWord");
2145
var showcharactercount = document.getElementById("countcharacter");
2246
var showalphabetcount = document.getElementById("countalphabets");
47+
var longestWord=document.getElementById("longestWord");
48+
var longestWordlength=document.getElementById("longestWordlength");
49+
var searchText=document.getElementById("searchText");//Word to be searched
50+
var frequency=document.getElementById("frequency");
51+
var copy=document.getElementById("copyButton");
52+
var paste=document.getElementById("pasteButton");
53+
let f=0;
54+
55+
longestWord.innerHTML=("<br>There is no text.");
2356
textContent.addEventListener("input", function(){
57+
2458
var v = count_word( this.value );
2559
showWordCount.innerHTML = (
2660
"<br>Words: "+ v.words
@@ -33,4 +67,19 @@ var d = count_alphabets(this.value);
3367
showalphabetcount.innerHTML = (
3468
"<br>Alphabets: "+d
3569
);
36-
}, false);
70+
var l=longest(this.value);
71+
if(l.length===0){
72+
longestWord.innerHTML=("<br>There is no text.");
73+
}
74+
else{
75+
longestWord.innerHTML=("<br>Longest Word: "+l.bold());
76+
}
77+
let text=this.value;
78+
longestWordlength.innerHTML=("<br>Length of "+l+" is: "+l.length);
79+
searchButton.addEventListener("click",function(){
80+
let word=searchText.value;
81+
f=search(text,word);
82+
frequency.innerHTML=("<br>"+word.bold()+" occurs "+f+" times(s) in the text.");
83+
},false);
84+
}, false);
85+

0 commit comments

Comments
 (0)