Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   HTML, Javascript y otros (https://www.clubdelphi.com/foros/forumdisplay.php?f=38)
-   -   Evitar que el usuario escriba tildes con javascript (https://www.clubdelphi.com/foros/showthread.php?t=36481)

cahosoft 13-10-2006 15:47:50

Evitar que el usuario escriba tildes con javascript
 
Hola como estan,
tengo un formulario en que me pide el nombre y apellidos del apellidos....
yo se que por medio de este eventos en la caja de texto
Código:

onKeypress="if ((event.keyCode < 45 || event.keyCode > 57) && (event.keyCode!=13)) event.returnValue = false;"
pero lo hace para los numeros....lo que quiero es que el usuario no le permira digiar o colocar vocales con tilde en la caja de texto..

Gracias por todo

dec 13-10-2006 16:13:58

Hola,

A bote pronto se me ocurre algo así, aunque, me imagino que la expresión regular que utilizo puede mejorarse, y, en general, el resto del código, quiero decir, acaso utilizando otra cosa y no el método "match". En todo caso parece funcionar e igual te apaña o te ofrece alguna idea:

Código PHP:

<html>
<
body>

<
script type="text/javascript">

function 
ComprobarAcentos(inputtext)
{
  if(!
inputtext) return false;
  if(
inputtext.value.match('[á,é,í,ó,ú]|[Á,É,Í,Ó,Ú]'))
  {
    
alert('No se permiten acentos en la casilla');
    
inputtext.value '';
    
inputtext.focus();
    return 
true;
  }
  return 
false;
}

</script>

<div>
 <input type="text" onkeyup="javascript:ComprobarCasilla(this);" />
</div>

</body>
</html> 


kayetano 14-10-2006 00:02:44

Hola

Una simple curiosidad ¿Que problema tienes con las tildes? mi nombre lleva tilde y me gusta ponerle siempre la tilde.

Es muy posible que haya otra solución mas digna para las tildes.

mamcx 14-10-2006 00:26:12

Estoy de acuerdo. No le veo razon real para ocultar tildes... sera que tienes un problema de encoding y te llegan "garabatos"?

Por otro lado con respecto a lo de expresion regular. Lo correcto es verificar los casos validos, no escribir los casos invalidos.

i.e. es mas productivo saber como se detecta si un billete es real a las 10001 maneras de estafa que se pueden hacer.

En tal caso, un expresion regular seria asi:
Cita:

[a-zA-Z0-9\s]+
mas o menos...

Pero sigo sin entender porque sacar las tildes...

roman 14-10-2006 00:34:34

Este, bueno, fundamentalmente me parece razonable lo que dices Mario, en cuanto al uso de la expresión regular, pero... ¿Hay nombres de personas con números? :eek: :D

// Saludos

D-MO 14-10-2006 00:55:30

Cita:

Empezado por roman
... ¿Hay nombres de personas con números? :eek: :D

Pues segúramente en Colombia los ha de haber, ¿verdad Mario?

Saludos.

mamcx 14-10-2006 03:11:48

Essteeeeee...

Tengo confirmado que un tipo en La Guajira se llama One Dollar. Hay otro US Army, y otros nombres por el estilo... (De La Guajira hay mucho de esto, es muy gracioso ;) )

(Aunque la verdad, se me borro de la mente la parte "nombre" y "apellido" y imagine estaba hablando de "usuario")

dec 14-10-2006 06:41:48

Hola,

CahoSoft, no les hagas ni caso. Si no quieres que se puedan incluir acentos que no se incluyan y punto pelota. Hay razones para hacer algo así y tú puedes tenerlas. Por otro lado, Mario, esta expresión regular:

Código:

[a-zA-Z0-9\s]+
¿Vale para JavaScript? Pregunto. Porque no lo sé. Bueno. Lo dicho, lo que tienen es envidia de mi código que es el mejor del mundo. Tú haz lo que tengas que hacer CahoSoft, que si no lo haces tú no lo hará nadie.

:D :D :D :D :D

kayetano 14-10-2006 14:43:57

Hola

Cita:

Empezado por dec
CahoSoft, no les hagas ni caso. Si no quieres que se puedan incluir acentos que no se incluyan y punto pelota. Hay razones para hacer algo así y tú puedes tenerlas.

Por lo general cuando alguien pide cosas "raras" como esta (yo no soy partidario de escribir mal mi nombre) es porque tiene un problema con las tildes e intenta arreglarlo no usándolas, por lo tanto prefiero que exponga su problema real con las tildes y así darle una solución razonalble.

Mira que si alguien tubiera un problema con la "A" y optara por no usarla ;).

Cita:

Empezado por dec
¿Vale para JavaScript?

Creo que con RegExp se pueden usar expresiones regulares en javascript. Las expresiones regulares también se pueden usar en los métodos String.match, String.replace, String.search y String.split. Ademas una expresión regular tan simple como esta no creo que tenga ningún problema

dec 14-10-2006 15:06:30

Hola,

Cita:

Empezado por Kayetano
Por lo general cuando alguien pide cosas "raras" como esta (yo no soy partidario de escribir mal mi nombre) es porque tiene un problema con las tildes e intenta arreglarlo no usándolas, por lo tanto prefiero que exponga su problema real con las tildes y así darle una solución razonalble.

Mira que si alguien tubiera un problema con la "A" y optara por no usarla .

Bueno. Yo pretendía ser un poco sarcástico. Está claro que puede ser como dices, empero, valga la solución que dí si, por cualquier razón (ojo, razón) no se quiere permitir al usuario ingresar letras acentuadas.

Cita:

Empezado por Kayetano
Creo que con RegExp se pueden usar expresiones regulares en javascript. Las expresiones regulares también se pueden usar en los métodos String.match, String.replace, String.search y String.split. Ademas una expresión regular tan simple como esta no creo que tenga ningún problema

Bueno. Es que yo en esto me pierdo un poco. Sé únicamente que las Expresiones Regulares son todo un mundo, y que algunas son de tipo "Perl", otras de otros tipos... que en no todos los lenguajes se encuentran "disponibles de serie", etc.

En lo referente a JavaScript y según se puede leer aquí: JavaScript RegExp Object las Expresiones Regulares en JavaScript se basan en la sintaxis de las de Perl, pero, parecen no contar con toda la potencia de éstas:

Cita:

In JavaScript, a regular expression is written in the form of /pattern/modifiers where "pattern" is the regular expression itself, and "modifiers" are a series of characters indicating various options. The "modifiers" part is optional. This syntax is borrowed from Perl. JavaScript supports the following modifiers, a subset of those supported by Perl:

* /g enables "global" matching. When using the replace() method, specify this modifier to replace all matches, rather than only the first one.
* /i makes the regex match case insensitive.
* /m enables "multi-line mode". In this mode, the caret and dollar match before and after newlines in the subject string.
Por eso decía si se estaba seguro de que la Expresión Regular estaba probada, porque era posible que no funcionase, sobre todo por el "modificador" "/s" que no parece estar disponible para las Expresiones Regulares en JavaScript.

Zeta 19-10-2006 21:27:25

Cita:

Empezado por roman
Este, bueno, fundamentalmente me parece razonable lo que dices Mario, en cuanto al uso de la expresión regular, pero... ¿Hay nombres de personas con números? :eek: :D

// Saludos

Benedicto XVI? :D:D:D, son números, romanos, pero números al fín :D:D:D
EN algunos países, ej EU, si el nombre del padre y del hijo son iguales, el del hijo se pone con números romanos.

Pero números 1,2,3,4 habrá que ver...


Saludos


La franja horaria es GMT +2. Ahora son las 01:02:49.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi