Укажите диапазон чисел для ввода в поле номера, используя JavaScript - PullRequest
0 голосов
/ 04 марта 2011

У меня есть поле 'sessionid' типа text в форме HTML. Я хочу, чтобы пользователь вводил только цифры в диапазоне от 1 до 12 и не более. если введено 0 или 13 e.t.c, возвращается ошибка.

Вот HTML-форма

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

Спасибо. Пожалуйста, помогите.

Ответы [ 3 ]

5 голосов
/ 04 марта 2011

Попробуйте преобразовать число в целое число:

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

Для современных браузеров, я бы рекомендовал использовать тип ввода HTML5 number:

<input type="number" name="sessionid" min="0" max="12" >
1 голос
/ 04 марта 2011

Самый простой способ - использовать поле выбора

<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>

Это хорошо для небольших чисел, но если вы собираетесь увеличить размер, REGEXP - ваш друг.

1 голос
/ 04 марта 2011

Вы можете использовать регулярные выражения.

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">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...