Foros del Web » Programando para Internet » Javascript »

Script para restringir el maximo de caracteres por palabra ???

Estas en el tema de Script para restringir el maximo de caracteres por palabra ??? en el foro de Javascript en Foros del Web. Tengo un problemita: Uso asp, y los usuarios ingresan datos mediante campos de texto en un formulario, estos datos despues los muestro en un tabla. ...
  #1 (permalink)  
Antiguo 09/05/2007, 09:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 139
Antigüedad: 19 años, 4 meses
Puntos: 1
Script para restringir el maximo de caracteres por palabra ???

Tengo un problemita:
Uso asp, y los usuarios ingresan datos mediante campos de texto en un formulario, estos datos despues los muestro en un tabla.
Hasta ahi todo bien, el problema se me presenta cuando un usuario ingresa mas caracteres de los que pueden entrar en la celda, entonces me corre todo para cualquier lado.
La solucion es restringir que el usuario no pueda ingresar palabras de mas de 15 caracteres. No me importa los caracteres totales que escriba sino los carcateres de cada palabra.

Alguien me puede tirar un script por donde empezar?
  #2 (permalink)  
Antiguo 09/05/2007, 09:56
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Script para restringir el maximo de caracteres por palabra ???

Hola gabriel em

Divide el contenido del textarea en palabras con la función split

Código:
palabras = document.nombreFormu.nombreText.value.split(' ')
Ahora sólo tienes que recorrer el array y comprobar la longitud de cada palabra.

Saludos,
  #3 (permalink)  
Antiguo 09/05/2007, 16:47
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Script para restringir el maximo de caracteres por palabra ???

Una posible respuesta con expresiones regulares por si tienes miles de palabras, para ordenadores lenticos, que también hay que pensar en ellos:

Código PHP:
function e(q,noBr) {
    
document.body.appendChilddocument.createTextNode(q) );
    if(!
noBrdocument.body.appendChilddocument.createElement("BR") );
}


var 
str="palabras en este str para el ejemplo de no poder poner más letras de lo debido"
e(str);

//devuelve un array con las palabras de mas de n caracteres o false si no se ha encontrado ninguna
function palabrasDeMasDe(nstr) {
    var 
reg=new RegExp"([a-záéíóúüçñ]{"+n+",})(?= ?)""g");
    if( 
reg.test(str) ) return str.match(reg);
    else return 
false;
}
var 
palabrasLargas=palabrasDeMasDe(5,str);

if(
palabrasLargas.length) {
    
e("MAL: No puedes escribir palabras tan largas! Palabras largas encontradas: ");
    for( var 
i in palabrasLargas )
        
e(palabrasLargas[i]);
}
else {
    
e("BIEN");


Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.

Última edición por derkenuke; 09/05/2007 a las 16:47 Razón: etiquetas [php]
  #4 (permalink)  
Antiguo 13/03/2009, 12:21
Avatar de ratwhite  
Fecha de Ingreso: febrero-2009
Ubicación: Lima
Mensajes: 16
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Script para restringir el maximo de caracteres por palabra ???

Que tal si pruebas con esto:
<td><input type="text" onkeyup="this.value=this.value.slice(0,8)"></td>
cambias el 8 por la cantidad q kieres limitar.
saludos
  #5 (permalink)  
Antiguo 13/03/2009, 12:25
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Script para restringir el maximo de caracteres por palabra ???

Hola, ratwhite.

Por favor, no revivas temas tan antiguos.

Saludos .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 04:39.