Foros del Web » Programando para Internet » Javascript »

mayusculas y minusculas

Estas en el tema de mayusculas y minusculas en el foro de Javascript en Foros del Web. Saludos Bien lo primero es que soy nuevo en el tema por lo que pido disculpas si mi consulta les parece trivial, pero todos en ...
  #1 (permalink)  
Antiguo 06/01/2003, 04:11
 
Fecha de Ingreso: enero-2003
Ubicación: el mundo
Mensajes: 23
Antigüedad: 21 años, 3 meses
Puntos: 0
mayusculas y minusculas

Saludos

Bien lo primero es que soy nuevo en el tema por lo que pido disculpas si mi consulta les parece trivial, pero todos en algun momento hemos sido nuevos y espero que lo entiendan.

Mi problema es que tengo en un formulario un campo de texto donde introduzco un nombre (persona) y necesito detectar si la primera letra de dicho nombre es mayuscula o minuscula para tratarla de una forma u otra.

No quiero que me faciliten el codigo hecho (aunque ojeando uno siempre se puede personalizar para tu uso) lo que necesito es asesoramiento para hacerlo yo mismo.

Gracias por leerme.
  #2 (permalink)  
Antiguo 06/01/2003, 06:32
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Hola gamazo,

pues para eso puedes hacer una función que recoja el valor de tu campo, le saque la inicial y compare si es igual a sí misma pasada a mayúscula.
Si comparando son iguales, la inicial es mayúscula
Si no, es minúscula.

te pongo el ejemplo:

<script language="javascript">
function Versal(cual)
{
valor=cual.value //recogemos el valor del campo
inicial=valor.charAt(0) //le sacamos la inicial
inicialMays=inicial.toUpperCase() //guardamos la inicial en otra variable y la pasamos a mayúscula
if(inicial==inicialMays){ //las comparamos
ini="mayuscula"
alert('Es mayúscula')
}
else{
ini="minuscula"
alert('Es minúscula')
}
alert(ini)
return ini //finalmente la función devuelve si es mayúscula o minúsula
}
</script>

Y en tu campo....

<form name="formu" method="post" action="">
<input type="text" name="pepe" onBlur="Versal(this)">
</form>

Saludos y bienvenido
  #3 (permalink)  
Antiguo 06/01/2003, 07:55
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Dime si esto lo entiendes y te sirve. Si no pregunta que para eso estamos!!

Código:
<html>
<head>
	
	<script>
	function comprobar(){
	//Introducimos en una variable llamada texto el contenido de la caja de texto.
	texto=document.formulario.cajaDeTexto.value;
	//Creamos una variable con el contenido del primer caracter escrito utilizando la función substring(el formato es variable.substring(primer caracter, ultimo caracter de la cadena a extraer)
	primeraLetra=texto.substring(0,1);
	//Creamos otra variable con el contenido de la variable creada en mayúsculas (para ello empeamos la fórmula yoUpperCase que viene q significar "A mayusculas")
	mayusculasPrimeraLetra=primeraLetra.toUpperCase()
	//comprobamos si el primer caracter es igual a la variable creada en mayusculas (así descubrimos si se escribió en mayusculas o en minúsculas)
	if (primeraLetra==mayusculasPrimeraLetra){
	alert("opción 1\n Está en mayusculas ")
	}
	else{
	alert("opción 2\n Está en minusculas")
	}
	}
	
	</script>
</head>

<body>
<form action="none" method="post" name="formulario" id="formulario" >

<input onblur="comprobar()" type="text" style="background: #c0c0c0; border: solid 1px black; height: 12px; width: 100px; font: normal 10px 12px Verdana, Geneva, Arial, Helvetica, sans-serif; margin: 0px 0px 0px 0px;" name="cajaDeTexto" maxlength="30">

</form>


</body>
</html>
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #4 (permalink)  
Antiguo 06/01/2003, 07:56
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Vaya tunait! Te me adelantaste!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 06/01/2003, 07:58
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
'pañero Karlankas!

Si pero viste qué sincronización de ideas??

  #6 (permalink)  
Antiguo 06/01/2003, 08:22
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
veo que a tí también te abdujeron los extraterrestres...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #7 (permalink)  
Antiguo 06/01/2003, 08:37
Avatar de mikel_gomez  
Fecha de Ingreso: febrero-2001
Mensajes: 482
Antigüedad: 23 años, 2 meses
Puntos: 3
Re: Carácter inicial mayúscula

Otra visión distinta... Una forma de validación alternativa sería mediante expresiones regulares con una función tan simple como la que sigue:

Código:
function versal(cadena) {
  var er = /^[A-Z,Ñ].*$/ ;
  return er.test(cadena)
} 
Esta función devuelve el valor lógico verdadero si el primer carácter de la cadena está entre la A y la Z, incluyendo la Ñ, devuelve falso en caso contrario.

Ejemplo completo:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//ES" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- Validación de letra inicial mayúscula - 2003.01.06 - Mikel Gómez -->
<html>
  <head>
    <title>Validación de letra inicial mayúscula</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <script type="text/javascript">
    <!--
      // Validación inicial en mayúsculas mediante expresión regular.
      function versal(cadena) {
        var er = /^[A-Z,Ñ].*$/ ;
        return er.test(cadena)
      }

      // Validación del nombre introducido.
      function validarNombre() {
        cadena = document.getElementById('nombre').value ;
        if (versal(cadena))
          alert('La inicial ES una letra mayúscula');
        else
          alert('La inicial NO es una letra mayúscula');
      }
    //-->
    </script>
    <style type="text/css">
    <!--
      .normal {font: 9pt verdana;}
      .titulo {font: 10pt verdana; font-weight: bold;}
    -->
    </style>
  </head>
  <body>
    <div id="cuerpo" class="normal">
      <div id="titulo" class="titulo">
          Validación de letra inicial mayúscula
        <hr />
        <br />
      </div>
      <form id="frm" action="" method="get">
      <div id="formulario" class="formulario">
        Nombre:
        <input type="text" id="nombre" value="" />
        <input type="button" id="num" value="Validar" onclick="validarNombre()" />
      </div>
      </form>
    <p>
      <a href="http://validator.w3.org/check/referer"><img
          src="http://www.w3.org/Icons/valid-xhtml11"
          alt="Valid XHTML 1.1!" height="31" width="88" style="border: 0px;" /></a>
    </p>
    </div>
  </body>
</html>
Si necesitas más información...
Saludos,
Mikel
__________________
Mikel Gómez
Hay que aprender mucho para saber poco

  #8 (permalink)  
Antiguo 06/01/2003, 08:43
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 22 años, 8 meses
Puntos: 381
Oye qué buena solución, no se me ocurrió usar las expresiones regulares (y eso que ando peleandolas en otro script)


saludos


p.d. KarlanKas, efectivamente me abdujeron pero me devolvieron, dijeron que no servía
  #9 (permalink)  
Antiguo 06/01/2003, 08:49
Avatar de mikel_gomez  
Fecha de Ingreso: febrero-2001
Mensajes: 482
Antigüedad: 23 años, 2 meses
Puntos: 3
Re: ¿Te devolvieron de verdad tunait?

Si los extraterrestes te devolvieron tunait, es porque no usan javascript
__________________
Mikel Gómez
Hay que aprender mucho para saber poco

  #10 (permalink)  
Antiguo 06/01/2003, 10:37
 
Fecha de Ingreso: enero-2003
Ubicación: el mundo
Mensajes: 23
Antigüedad: 21 años, 3 meses
Puntos: 0
gracias

Gracias por todo amigos me han solucionado mi duda con creces, sinceramente gracias, espero algun dia poder ayudar a alguien como lo hacen ustedes ahora.

Estaremos en contacto.
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

SíEste tema le ha gustado a 1 personas




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