Foros del Web » Programando para Internet » Javascript »

Cambiar la primera ne mayuscula???

Estas en el tema de Cambiar la primera ne mayuscula??? en el foro de Javascript en Foros del Web. Hola a todos haber tengo un problema es que estoy trabajando en php y hago las validaciones con javascrip pero ahora me exigeron que debia ...
  #1 (permalink)  
Antiguo 07/07/2008, 14:02
Avatar de KATICA  
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años, 1 mes
Puntos: 0
Cambiar la primera ne mayuscula???

Hola a todos haber tengo un problema es que estoy trabajando en php y hago las validaciones con javascrip pero ahora me exigeron que debia en un campo de textarea del formulario validar o cambiar cuando el usuario digitara su texto a que la primera letra sea en mayuscula y el resto en minuscula .. bueno yo encontre eso en la faq pero no me funciona

Código PHP:
// Convertir 1° letra a mayuscula
function convertir (nn1) {

    if (
n.length==|| n.substr(n.length-1,1)==' ') {
    
n1.value n+te.toUpperCase();
    
alert(n1+'Cambiado')
    return 
false;
    }else{
    return 
true;
     }

en el formulario en el onsubmit lo mando asi:

Código PHP:
onsubmit="if (valida_texto(this.txt_nombre.value,'Referencia')==false || valida_numerico(this.txt_nombre.value,'Referencia')==false || valida_texto(this.txt_descripcion.value,'Descripcion')==false || convertir(this.txt_descripcion.value,'Descripcion')==false  ) {return false}" 
alguien me puede colaborar y regalarme unas lines y gracias de antemano ... bye
  #2 (permalink)  
Antiguo 07/07/2008, 14:25
Avatar de KATICA  
Fecha de Ingreso: marzo-2008
Mensajes: 82
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Cambiar la primera ne mayuscula???

amigos ya encontre la solucion voy a dejarla por si alguien la necesita ....la funcion .js me quedo asi
Código PHP:
function Convertir2(n)
{
texto=n.value+" ";
texto=texto.toLowerCase();
texto1="";
punc=",.?!:;)'";
punc+='"';
while ((
texto.length>0)&&(texto.indexOf(" ")>-1))
    {
    
pos=texto.indexOf(" ");
    
wrd=texto.substring(0,pos);
    
wrdpre="";
        if (
punc.indexOf(wrd.substring(0,1))>-1)
        {
        
wrdpre=wrd.substring(0,1);
        
wrd=wrd.substring(1,wrd.length);
        }
        
cmp=" "+wrd+" ";
        for (var 
i=0;i<9;i++)
        {
        
p=wrd.indexOf(punc.substring(i,i+1));
            if (
p==wrd.length-1)
            {
            
cmp=" "+wrd.substring(0,wrd.length-1)+" ";
            
i=9;
            }
        }
    if (
cmp.indexOf(cmp)<0)
    {
    
ltr=wrd.substring(0,1);
    
ltr=ltr.toUpperCase();
    
wrd=ltr+wrd.substring(1,wrd.length);
    }
    
texto1+=wrdpre+wrd+" ";
    
texto=texto.substring((pos+1),texto.length);
    }
ltr=texto1.substring(0,1);
ltr=ltr.toUpperCase();
texto1=ltr+texto1.substring(1,texto1.length-1);
n.value=texto1;

a mi me funciono perfectamente
  #3 (permalink)  
Antiguo 07/07/2008, 15:46
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
Respuesta: Cambiar la primera ne mayuscula???

Hola KATICA:

No he mirado mucho lo que hace esa función tan larga, pero sí la he probado y este texto:
"hola que tal este es mi texto. tiene puntos y esas cosas; también puntos y coma, comas, ¿preguntas? ¡sí! (pero pocas)..."
Se convierte en:
Hola que tal este es mi texto. tiene puntos y esas cosas; también puntos y coma, comas, ¿preguntas? ¡sí! (pero pocas)...

Así que si quieres que un texto tenga la primera letra en mayúscula, símplemente has de cambiarle ese caracter:

Código PHP:
function capitalize(txt) {
    return 
txt.charAt(0).toUpperCase() + txt.substr(1);

¿Qué es lo que querías lograr? ¿Que se corrigiesen las mayúsculas después de los signos de puntuación?
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:22.