Un contador de palabras y caracteres


http://www.asptutor.com

Un contador de palabras y caracteres

Este ejemplo muestra un script que cuenta las palabras y caracteres que son introducidos en un textbox.

Usa las funciones Ubound y Split 

 

Contador.asp

<%
Dim nombrescript
Dim textodeentrada

nombrescript = Request.ServerVariables("URL")

textodeentrada = Request.Form("txtWordCount")

' Si no han escrito nada emitimos un mensaje de error
If textodeentrada = "" Then
textodeentrada = "Debes escribir algo en la cadena a contar"
Else
Response.Write "El texto introducido es::<br />" & vbCrLf
Response.Write "<pre>"
Response.Write Server.HTMLEncode(textodeentrada)
Response.Write "</pre>" & vbCrLf

' Mostramos los resultados del conteo:
Response.Write "<p>El texto introducido contiene <b>" _
& GetWordCount(textodeentrada) _
& "</b> palabras y <b>" _
& GetCharCount(textodeentrada) _
& "</b> caracteres.</p><br />" & vbCrLf
End If

'**** Funciones Usadas ***********************************
Function GetWordCount(strInput)
Dim strTemp

' reeplazamos los tabuladores y los saltos de linea por espacios
strTemp = Replace(strInput, vbTab, " ")
strTemp = Replace(strTemp, vbCr, " ")
strTemp = Replace(strTemp, vbLf, " ")

' Quitamos los espacios delante y detras de la cadena
strTemp = Trim(strTemp)

' transformamos multiple espacios en uno solo
Do While InStr(1, strTemp, " ", 1) <> 0
strTemp = Replace(strTemp, " ", " ")
Loop

' Pasamos la cadena strTemp a un array unidimensional 
'con la función Split 
GetWordCount = UBound(Split(strTemp, " ", -1, 1)) + 1
End Function ' GetWordCount

Function GetCharCount(strInput)
GetCharCount = Len(textodeentrada)
End Function ' GetCharCount
'**** Fin de funciones *************************************

%>
<p>Introduce el texto a contar:</p>

<form action="<%= nombrescript %>" method="post">
<textarea name="txtWordCount" cols="40" rows="5"
><%= Server.HTMLEncode(textodeentrada) %></textarea>

<br />

<input type="submit">
</form>
 

Ver el ejemplo funcionado