Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Ввод данных в input text (https://javascript.ru/forum/dom-window/54898-vvod-dannykh-v-input-text.html)

Andrey777 05.04.2015 17:19

Ввод данных в input text
 
Здравствуйте, у меня вопрос - каким образом возможно не допускать ввод каких либо символов, кроме чисел 0-10? Не выдавать предупреждение, а именно не допускать.

blacklool 05.04.2015 17:23

Цитата:

Сообщение от Andrey777 (Сообщение 365061)
Здравствуйте, у меня вопрос - каким образом возможно не допускать ввод каких либо символов, кроме чисел 0-10? Не выдавать предупреждение, а именно не допускать.

---> http://www.texotela.co.uk/code/jquery/numeric/
---> http://stackoverflow.com/questions/9...x-using-jquery

Andrey777 05.04.2015 17:29

Возможно ли это вытянуть на js?

blacklool 05.04.2015 17:42

<input type="text" onkeypress='return event.charCode >= 48 && event.charCode <= 57'></input>

Andrey777 05.04.2015 17:55

Спасибо, но все ж не то, но идея вроде бы понятна

Chiz 05.04.2015 21:18

Andrey777, http://javascript.ru/basic/regular-expression+ используй регулярные выражения

theKingOfJava 05.04.2015 21:58

Цитата:

Сообщение от Andrey777
символов

Цитата:

Сообщение от Andrey777
чисел 0-10

число 10 - это 2 символа.
Твоя задача нерешаема, в том виде, в котором ты хочешь. Представь себе, что пользователь ввел 1. Откуда мы знаем, что он дальше будет вводить? может 10? А может 100. соответственно, чтобы запретить ему вводить 100, ты вынужден запретить вводить и 10. То же самое и с остальным. Чтобы понять, что он ввел 100, надо сначала дать ему ввести 100.

можно попробовать как-то так
<html>
<head>
 
</head>
 
<body>
<input id="i" /> 
<script>

i.oninput=function(){
 this.value=this.value
  .replace(/[^\d\s]/g, "")
  .replace(/(\s|^)1[^0\s]|(\s|^)[^1]\d|(\s|^)\d{3,}/g, "")
}
 

</script>
 
</body>
</html>

в качестве разделителя -- пробельные символы.
не уверен, что во всех случаях работает нормально, протестируй как следует.

Andrey777 06.04.2015 18:15

Спасибо за помощь


Часовой пояс GMT +3, время: 17:05.