2014-10-30 4 views
0

Я работаю над страницей с текстовым полем и кнопкой (там больше, но это то, что причиняет мне неприятности). Когда кнопка нажата, она должна проверить, что в текстовом поле записано только 3 буквы.Проверка ввода в Javascript

Вот HTML создания в поле ввода и кнопки:

<form> 
    Enter 3 letters: <input type="text" id="3letters"> <br> 
    <input type = "button" id = "check" value = "Send" onclick="validate()"> 
</form> 

А вот функция Javascript, чтобы проверить вход:

function validate() { 
    var TTinput = document.getElementById("3letters").value; 

    if(TTinput < 3) { 
     alert("Please enter 3 letters"); 
    } 
} 

Чтобы проверить, что это работает, я пытаюсь введите только одну букву, но когда я нажимаю кнопку, ничего не происходит. Любая идея, что я могу сделать, чтобы исправить это?

ответ

2

Проверьте length свойства:

if (TTinput.length < 3) 
+0

О, черт возьми, дух. Я знал это, должно быть, на минутку окунулся. Благодаря! –

0

Что вы делаете, чтобы установить переменную TTinput значения текстового поля. Итак, теперь TTinput содержит string. Что вам нужно, чтобы получить его length, а длина строки в JavaScript можно получить по lenght собственности:

var str = "ABCD"; 
str.length; // 4 

http://www.w3schools.com/jsref/jsref_length_string.asp

function validate() { 
    var TTinput = document.getElementById("3letters").value; 
    var input_length = TTinput.length; 
    if(input_length < 3) { 
     alert("Please enter 3 letters"); 
    } 
} 
0

Если вы хотите точно 3-х символов использовать:

if(TTinput.length < 3 || TTinput.length > 3) { 
    alert("Please enter 3 letters"); 
} 

или

if(TTinput.length != 3) { 
    alert("Please enter 3 letters"); 
} 

* Только этот (TTinput.length < 3) рассмотрит действительные символы 4, 7, 350, ....

+0

Я не сказал 'true', я сказал, что сценарий считает его действительным, потому что' <3', оценивающий 'true' означает, что вход был действителен, поскольку сообщение об ошибке находится внутри блока if. (Я изменил его, чтобы показать как '! = ', Так и' <3' '> 3 '(пытаясь показать OP, что он может быть диапазоном, если необходимо). – JRulle

+0

Получил это спасибо. –

+0

Правильно, вот как я это сделал во-первых, но поскольку он не работал, он собирался протестировать его, просто используя меньше. Теперь, когда он работает, я буду добавлять обратно. –

Смежные вопросы