60 lines
No EOL
1.5 KiB
HTML
60 lines
No EOL
1.5 KiB
HTML
<html>
|
|
<HEAD>
|
|
<title>Word Counter</title>
|
|
<meta name="viewport" content="width=240">
|
|
<!-- Original: Shawn Seley http://javascript.internet.com -->
|
|
<script>
|
|
function CountWords (this_field, show_word_count, show_char_count) {
|
|
if (show_word_count == null) {
|
|
show_word_count = true;
|
|
}
|
|
if (show_char_count == null) {
|
|
show_char_count = false;
|
|
}
|
|
var char_count = this_field.value.length;
|
|
var fullStr = this_field.value + " ";
|
|
var initial_whitespace_rExp = /^[^A-Za-z0-9]+/gi;
|
|
var left_trimmedStr = fullStr.replace(initial_whitespace_rExp, "");
|
|
var non_alphanumerics_rExp = rExp = /[^A-Za-z0-9]+/gi;
|
|
var cleanedStr = left_trimmedStr.replace(non_alphanumerics_rExp, " ");
|
|
var splitString = cleanedStr.split(" ");
|
|
var word_count = splitString.length -1;
|
|
if (fullStr.length <2) {
|
|
word_count = 0;
|
|
}
|
|
if (word_count == 1) {
|
|
wordOrWords = " word";
|
|
}
|
|
else {
|
|
wordOrWords = " words";
|
|
}
|
|
if (char_count == 1) {
|
|
charOrChars = " character";
|
|
} else {
|
|
charOrChars = " characters";
|
|
}
|
|
if (show_word_count & show_char_count) {
|
|
alert ("Word Count:\n" + " " + word_count + wordOrWords + "\n" + " " + char_count + charOrChars);
|
|
}
|
|
else {
|
|
if (show_word_count) {
|
|
alert ("Word Count: " + word_count + wordOrWords);
|
|
}
|
|
else {
|
|
if (show_char_count) {
|
|
alert ("Character Count: " + char_count + charOrChars);
|
|
}
|
|
}
|
|
}
|
|
return word_count;
|
|
}
|
|
</script>
|
|
</HEAD>
|
|
<BODY bgcolor=darkorange>
|
|
<form>
|
|
<textarea cols=30 rows=8 name=x></textarea>
|
|
<br>
|
|
<input type=button value="Count Words" OnClick ="CountWords(this.form.x, true, true);">
|
|
</form>
|
|
</BODY>
|
|
</html> |