如何测试以检查用户是否在文本框中输入了小数?

时间:2016-03-04 00:27:55

标签: jquery

所以,这个程序需要检查用户输入小数的时间,它应该打印出来"不是有效的猜测,再试一次。"检查用户是否在IF语句中输入了小数的好方法是什么?

我的小提琴: http://jsfiddle.net/6qkdP/925/

jQuery代码:

$(document).ready(function () {
    $("#chat-box").append('<div class="guess"><br>Guess a number between 1-100</div>');
});
var number = Math.round((Math.random() * 100)) % 100 + 1;

document.getElementById('number').addEventListener('keydown', function (event) {


    if (event.which === 13 || event.keyCode === 13) {
        var guess = this.value;       

            if (guess == number) {               
                $("#chat-box").append('<div class="human">' + guess + '</div>');
                $("#chat-box").append('<div class="comp">You guessed it!</div>');
            } else if (isNaN(guess)) {
                $("#chat-box").append('<div class="human">' + guess + '</div>')
                $("#chat-box").append('<div class="comp">' + guess + ' is not a valid guess. Try again.</div>');
            } else if (guess == 0) {
                $("#chat-box").append('<div class="human">' + guess + '</div>')
                $("#chat-box").append('<div class="comp">' + guess + ' is not a valid guess. Try again.</div>');
            } **else if (parseInt(guess))**  {
                $("#chat-box").append('<div class="human">' + guess + '</div>')
                $("#chat-box").append('<div class="comp">' + guess + ' is not a valid guess. Try again.</div>');
            } else if (guess < number) {
                $("#chat-box").append('<div class="human">' + guess + "</div>")
                $("#chat-box").append('<div class="comp">' + guess + " is too small, guess again.</div>");
            } else if (guess > number) {
                $("#chat-box").append('<div class="human">' + guess + "</div>")
                $("#chat-box").append('<div class="comp">' + guess + " is too big, guess again.</div>");
            } 
        }
});

3 个答案:

答案 0 :(得分:2)

使用此功能。

if(guess.split('.').length>1){
    $("#chat-box").append('<div class="human">' + guess + '</div>')
    $("#chat-box").append('<div class="comp">' + guess + ' is not a valid guess. Try again.</div>');
}

答案 1 :(得分:0)

可能的解决方案之一可能是将RegExp用于这些目的,类似:

var isValid = /^([0-9]){1,2}(\.){1}([0-9]){2}$/.test(inputField.value); 

答案 2 :(得分:-1)

为了检查他们是否输入了非整数,您需要具有可以接收的数字类型。如果您将输入加倍,则可以使用:

while(input <0 || input> 10 ||(input-(int)input)> 0)查看是否输入了浮点值。

虽然这样做似乎有点愚蠢。

相关问题