2009-11-26 6 views
0

d'une question dans ce site que je trouve le code suivant de romaintaz:formes Validating en Javascript

<script type="text/javascript"> 
function testField(field) { 
    var regExpr = new RegExp("^\d*\.?\d*$"); 
    if (!regExpr.test(field.value)) { 
     // Case of error 
     field.value = ""; 
    } 
} 

</script> 

Ma question est maintenant: Comment puis-je faire ce validateur accepter que des chiffres et rien d'autre? Tout entier

Répondre

2

Vous pouvez chance de votre expression régulière pour accepter uniquement des chiffres (uniquement des nombres entiers):

function testField(field) { 
    var regExpr = /^[0-9]+$/; 
    if (!regExpr.test(field.value)) { 
     // Case of error 
     field.value = ""; 
    } 
} 
+0

Merci, fonctionne parfaitement :) – marcoamorales

+0

Vous êtes @dohkoxar bienvenue, BTW si vous devez vérifier les entiers négatifs, il suffit d'ajouter une option ' -' caractère à RegExp: '/^-? [0-9] + $ /' – CMS

0

Ce accepte nombre entier positif et négatif avec pas plus de 17 chiffres.

<script type="text/javascript"> 
function testField(field) { 
    var regExpr = new RegExp("^-?\d{1,17}$"); 
    if (!regExpr.test(field.value)) { 
     // Case of error 
     field.value = ""; 
    } 
} 

</script> 
0

Pour permettre au possible des entiers signés:

function testField(field) { 
    var regExpr = new RegExp("^(\+|-)?\d+$"); 
    if (!regExpr.test(field.value)) { 
     // Not a number 
     field.value = ""; 
    } 
} 
Questions connexes