2013-02-11 3 views
0

Il y a beaucoup de réponses à cette question sur le SO, mais aucune pour javascript ...Comment vérifier que (sub) string est un nombre en javascript?

Comment puis-je vérifier si 16 premiers caractères de cette piqûre 20130203003002od est un nombre? Ce qui signifie que la sous-chaîne ne contient pas de lettres ni d'autres caractères que des chiffres?

+0

Quelqu'un a suggéré 'la fonction isNaN (value)'. Mais ce commentaire a été retiré aucune idée pourquoi? – Radek

+0

parce que le demandeur est seulement intéressé à trouver si les 16 premiers caractères contiennent seulement des chiffres. 'isNaN ('0xf')', retournera par exemple 'false' (ce qui signifie que c'est un nombre) et ce n'est pas ce que le demandeur voulait car' x' et 'f' ne sont pas des chiffres. –

Répondre

1

Vous pouvez tester la chaîne contre une expression régulière comme ceci:

var data = "20130203003002od"; 
var matched = data.match("[0-9]{16}.*"); 

Si NULL est adapté, cela signifie que les 16 premiers caractères ne sont pas un numéro.

+0

J'aime votre réponse. Je vous remercie. Fonctionne bien. – Radek

6

si 16 premiers caractères ... [ne contiennent pas] de lettres ni d'autres caractères, mais les chiffres

/^\d{16}/.test(str); 

devraient fonctionner.

Questions connexes