Spécifiez la plage de nombres à saisir dans le champ numéro à l'aide de javascript

J'ai un champ 'sessionid' de type texte dans un formulaire html. Je souhaite que l'utilisateur n'entende que des nombres allant de 1 à 12 et plus. Si 0 ou 13 etc est entré, une erreur est renvoyée.

Voici le formulaire html

Session Id </td> <td> <input type="text" name="session id" /> 

Merci. Merci d'aide.

La manière la plus simple serait d'utiliser un champ sélectionné

 <select name="number-chooser"> <option value="1">1</option> <option value="2">2</option> <option value="3">Three</option> <option value="4">4</option> </select> 

C'est bon pour les petits espaces numériques, mais si vous allez beaucoup plus gros, REGEXP est votre ami.

Essayez de convertir le nombre en un int:

  <script type="text/javascript"> function checksession(sess){ var i = parseInt(sess); if(isNaN(c) || c < 1 || c > 12){ alert("Invalid session id!"); } } </script> 

Pour les navigateurs modernes, je recommanderais d'utiliser le type d'entrée du number HTML5:

 <input type="number" name="sessionid" min="0" max="12" > 

Vous pouvez utiliser des expressions régulières.

http://www.javascriptkit.com/javatutors/re.shtml

http://www.regular-expressions.info/numericranges.html

  <script language="JavaScript1.2"> function checkpostal(){ var regexp=/^([1-9]|10|11|12)$/ //regular expression if (document.myform.sessionid.value.search(regexp)==-1) //if match failed alert("wrong input") } </script> <form name="myform"> <input type="text" name="sessionid"> <input type="button" onClick="checkpostal()" value="check">