03/10/2006, 11:07
|
| Moderador extraterrestre | | Fecha de Ingreso: diciembre-2001 Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 11 meses Puntos: 61 | |
Mira a ver si te sirve esto:
Código:
<html>
<head>
<title>Untitled</title>
<style>
*{font:normal 10px/15px verdana;}
textarea{
overflow:auto;
text-align:justify;
}
input{text-align:right;}
input,textarea{
border:solid 1px black;
color:navy;
}
</style>
<script>
var palabrasPorMinuto=150;
var minimoLetras=1;//Cuantas letras tiene que tener como mínimo la palabra para ser contabilizada
var precioPorPalabra=0.2;
var contarPalabrasTrasEspacio=false;//Ponlo en true si quieres que cuente las palabras sólo después de poner un espacio.
function contar(esto){
if(contarPalabrasTrasEspacio && esto.value.charAt(esto.value.length-1)!=" "){return false;}
numeroDePalabras=0;
textos=esto.value;
//textos=textos.split(/(\r\n)| (-)| (\.)| (\,)| (\_)| (\;)| (\u00a0)/).join(" ");
textos=textos.replace(/(ñ)| (á)| (é)| (í)| (ó)| (ú)| (ü)| (_)/gi , "x");
textos=textos.split( /(\W)/).join(" ");
palabras=textos.split(" ");
for(a=0;a<palabras.length;a++){
if(palabras[a].length>=minimoLetras){
numeroDePalabras+=1;
}
}
document.forms['pepe']['palabras'].value=numeroDePalabras;
document.forms['pepe']['precio'].value = parseInt(numeroDePalabras * precioPorPalabra * 100)/100;
minutos=parseInt(numeroDePalabras/palabrasPorMinuto);
segundos=parseInt(((numeroDePalabras/palabrasPorMinuto)-minutos)*60);
minutos2=(minutos<10)?"0"+minutos:minutos;
segundos2=(segundos<10)?"0"+segundos:segundos;
document.forms['pepe']['tiempo'].value = minutos2+":"+segundos2;
}
</script>
</head>
<body onLoad="document.forms['pepe']['porPalabra'].value=precioPorPalabra;">
<form name="pepe">
<textarea onkeyup="contar(this)" cols="50" rows="10" name="texto" id="texto"></textarea> <input type="text" name="palabras" id="palabras" size="3" maxlength="3" readonly> palabras x <input type="text" name="porPalabra" id="porPalabra" size="5" maxlength="5"> = <input type="text" name="precio" id="precio" size="8" maxlength="8" readonly>
<br>
Tardarás en leerlo <input type="text" readonly name="tiempo"> minutos.
</form>
</body>
</html>
Puedes poner la cantidad de palabras que se leen por minuto en la variable palabrasPorMinuto.
Un saludo
__________________ Cómo escribir
No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia. |