Skip to content

Instantly share code, notes, and snippets.

@marcamillion
Created September 17, 2014 19:11
Show Gist options
  • Save marcamillion/0d365673f9d58a83dbda to your computer and use it in GitHub Desktop.
Save marcamillion/0d365673f9d58a83dbda to your computer and use it in GitHub Desktop.
Word & Character Counter in JS - as originally seen: http://jsfiddle.net/deepumohanp/jZeKu/
#border {
border: 1px solid red;
height: 200px;
width: 100%;
}
textarea {
height: 100%;
width: 100%;
border: 0px;
}
<!DOCTYPE html>
<html>
<head>
<title>Copy &amp; Paste, Word &amp; Character counter</title>
</head>
<body>
<div id="border">
<textarea id='text'></textarea>
</div>
<button id="count">Count</button>
<div id="result">
Words: <span id="wordCount">0</span><br/>
Total Characters(including trails): <span id="totalChars">0</span><br/>
Characters (excluding trails): <span id="charCount">0</span><br/>
Characters (excluding all spaces): <span id="charCountNoSpace">0</span>
</div>
<a href="http://deepumohan.com/projects/word-count/">Word Count</a><br/>
<a href="http://www.w3.org/html/logo/">
<img src="http://www.w3.org/html/logo/badge/html5-badge-h-solo.png" width="63" height="64" alt="HTML5 Powered" title="HTML5 Powered">
</a>
</body>
</html>
counter = function() {
var value = $('#text').val();
if (value.length == 0) {
$('#wordCount').html(0);
$('#totalChars').html(0);
$('#charCount').html(0);
$('#charCountNoSpace').html(0);
return;
}
var regex = /\s+/gi;
var wordCount = value.trim().replace(regex, ' ').split(' ').length;
var totalChars = value.length;
var charCount = value.trim().length;
var charCountNoSpace = value.replace(regex, '').length;
$('#wordCount').html(wordCount);
$('#totalChars').html(totalChars);
$('#charCount').html(charCount);
$('#charCountNoSpace').html(charCountNoSpace);
};
$(document).ready(function() {
$('#count').click(counter);
$('#text').change(counter);
$('#text').keydown(counter);
$('#text').keypress(counter);
$('#text').keyup(counter);
$('#text').blur(counter);
$('#text').focus(counter);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment