comment utiliser javascript pour vérifier si le premier caractère dans une zone de texte est un nombre?
Je suis en train de faire un formulaire simple et d'avoir une zone de texte de l'adresse de la rue....
Tout ce que je veux faire est de vérifier si la première valeur est un nombre ou non.
Comment puis-je le faire?
if(document.forms[0].elements[2].value.
c'est tout ce que j'ai maintenant, mais je ne suis pas sûr de ce que je doit ajouter à vérifier le premier caractère.
Duplicate?
Vous pouvez soit utiliser les fonctions de chaîne ou d'expressions régulières.
Vous pouvez soit utiliser les fonctions de chaîne ou d'expressions régulières.
if (/^\d/.test(document.forms[0].elements[2].value))
OriginalL'auteur Dora | 2013-04-01
Vous devez vous connecter pour publier un commentaire.
Comme vous l'avez dit dans votre question, vous voulez vérifier pour le premier caractère, vous pouvez utiliser charAt fonction de chaîne pour vérifier si le premier caractère est de 0 à 9 ou de tout autre contrôle que vous voulez pour le premier caractère
Solution Possible
firstChar
n'est pas un nombre, c'est une chaîne, et ne peut pas être comparé à des9
ou0
. Cette comparaison sera toujours faux. Comparer'9'
et'0'
au lieu de cela, ou d'obtenir la valeur ASCII aveccharCodeAt(0)
à vérifier si, entre48
et57
.Merci 🙂 lors de l'édition de manquer les guillemets.
Qui aurait fonctionné aussi bien. Essayez ceci dans la console.
str="90";c=str.charAt(0);c<=9 && c>=0
retournera true. Javascript n'a pas fortes, donc == marchera et '9' renvoie true lorsque l'on compare les avec entier 9. Votre réponse aurait été correct dans d'autres langages tels que Java et C. Rappelez-vous il n'y a pas statique des types de données en JavaScript.Ici, il ne le fait pas, j'ai testé.
La Chaîne de prototype a une méthode valueOf qui tente d'en extraire un numéro de la chaîne. Lorsqu'une chaîne est par rapport à un certain nombre, cette méthode est appelée, puis "55"<56 est vrai. Lorsqu'il est ajouté, c'est la méthode toString de le nombre qui est appelé et la concaténation de fonctionnement. Et tout cela n'est pas un navigateur spécifique de la chose.
OriginalL'auteur vdua
Cela peut simplement utiliser
isNaN
. Il suffit de mettre un bang avant de vérifier si c'est un nombre, au lieu deisNaN
'utilisation normale de vérifier si elle n'est pas un nombre, comme suit:Cela va aussi avec les nombres comme des chaînes de caractères, donc besoin de vous soucier de citations ou de tout cela hoo ha.
OriginalL'auteur Jordan Michael Rushing
Vous pouvez utiliser
if (document.forms[0].elements[2].value.match(/^\d+/))
pour vérifier si le début de la domaine est composé de chiffres.Il match:
Littéralement tout ce qui commence avec les numéros.
Vous pouvez étendre ses fonctionnalités à
if (document.forms[0].elements[2].value.match(/^\d+ +.+/))
Dans ce formulaire, il sera désormais besoin d'un certain nombre, et un ou plusieurs espaces, suivi par rien d'autre.
Lire plus sur Les Expressions Régulières d'élaborer complexier les vérifications.
Mais rappelez-vous d'abord que chaque adresse a des nombres, et la plupart des pays dans le monde ne pas utiliser ce format d'écriture des adresses. Comme pour le champ d'adresse, je crois que vous devez le laisser ouvert pour être écrit dans cependant le format de l'utilisateur le souhaite.
OriginalL'auteur Havenard