Javascript regexp simple ne fonctionne pas

J'ai ce code, ça a l'air bien et est vraiment basique, mais je ne peux pas le faire fonctionner:

function checkValid(elem){ var abc = elem.value; var re = "/[0-9]/"; var match = re.test(abc); alert(match); } 

Il correspond à 0 et 9, mais pas 1 à 8, qu'est-ce qui ne va pas ici? Merci.

Utilisez \ d pour faire correspondre un nombre et en faire une expresion régulière, pas une chaîne:

 var abc = elem.value; var re = /\d/; var match = re.test(abc); alert(match); 

re est une chaîne, pas un objet RegExp.

Vous devez utiliser un littéral regex au lieu d'un littéral de chaîne, comme ceci:

 var re = /[0-9]/; 

En outre, cela renverra true pour toute chaîne contenant un nombre quelconque dans la chaîne.
Vous voulez probablement le changer à

 var re = /^[0-9]+$/; 

Essayez de supprimer les guillemets doubles …

  var re = /[0-9]/;