2010-12-15 40 views
3

Il y a un TextBox que je veux permettre aux utilisateurs d'entrer simplement les nombres & pas tous les caractères alphabétiques. Alors, comment pourrais-je ignorer ces caractères entrés par l'utilisateur final via JavaScript ou jQuery? Remarque Je ne veux pas remplacer la valeur entrée par l'utilisateur par une chaîne vide; Au lieu de vouloir ignorer le cas s'il y a un moyen pour cela.Comment faire pour ignorer les caractères indésirables de la zone de texte (JavaScript ou jQuery)

+1

Votre question n'a pas de sens. Vous voulez restreindre l'entrée de l'utilisateur à des valeurs numériques uniquement et vous voulez ignorer ces caractères comme indiqué et vous ne voulez pas remplacer la valeur entrée par une chaîne vide (vous ne savez pas où nous en sommes ici) et ignorer le cas (des chiffres !?) Pouvez-vous relire votre question et s'il vous plaît la réviser avec des exemples de ce que vous pensez être entré, comment vous voulez le traiter et comment vous voulez représenter une entrée erronée pour l'utilisateur. – Lazarus

+0

Bits de malentendu ... Je veux restreindre l'entrée de l'utilisateur à des valeurs numériques seulement et s'il a entré des caractères non numériques, l'ignorer automatiquement; Cela signifie que le char spécifique ne doit pas mettre toute l'entrée à la chaîne vide ... –

Répondre

0

vous avez dit que vous ne vouliez pas inclure alphabétique alors vous avez dit que vous voulez juste ignorer le cas? Qu'avez-vous besoin de faire?

Vous pouvez ignorer les minuscules dans JS en utilisant string.toLowerCase()

+0

Cela n'ignore pas tellement les minuscules que force tous les caractères alphabétiques en minuscules (on pourrait dire que cela est d'autant plus important et certainement pas ignoré). Cela dit, forcer les deux côtés d'une comparaison de chaîne à un cas inférieur (ou supérieur) est une façon de mettre en œuvre une comparaison insensible à la casse. – Lazarus

+0

Par "cas", je veux dire le texte entré par l'utilisateur –

+0

ah oui, bien je veux dire ignorer les majuscules en mettant tout en minuscules. mais vous avez raison, c'est pour des comparaisons insensibles à la casse – Ross

0

Vous souhaitez joindre un gestionnaire à l'événement keypress de la zone de texte. Dans ici vérifier la propriété event.which pour savoir quelle touche est enfoncée, et si ce n'est pas un nombre (entre les codes clés 48 et 57) retourner false, ce qui annulera le comportement par défaut de taper dans la zone de texte.

$("input").keypress(function (e) { 
    if (e.which < 48 || e.which > 57) 
     return false; 
}); 
1

Je ne recommanderais pas intercepter les frappes, permettre à l'utilisateur de taper tout ce qu'il/elle veut, et valider l'action de l'utilisateur (soumettre/sélectionner etc).

Regardez ce plugin jQuery par exemple: http://bassistance.de/jquery-plugins/jquery-plugin-validation/

+0

Pas ce cas parce que mon client en a besoin comme ça ... –

+0

Est-ce qu'ils "ont besoin" ou "veulent-ils"? :-) Souvent, ils pensent qu'ils savent ce qu'ils "ont besoin", mais il se révèle être un "désir". Quoi qu'il en soit, génial si vous avez trouvé la solution! –