Sprawdzenie wprowadzonej przez użytkownika wartości

0

W jaki sposób mogę sprawdzić jaką użytkownik wprowadził wartość(liczba, tekst) oprócz wykorzystanie metody isNaN

2

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions

Tylko liczby '^[0-9]+$'
Tylko litery ^^[a-zA-Z]+$'

0

Tutaj napisałem taki kod ale za każdym razem kiedy wprowadzam liczbę pojawia się komunikat "Podałeś złą wartość wartość". Ten komunikat działa prawidłowo jeżeli wprowadzam tekst. Dla liczb powinien pojawić się komunikat "Podałeś dobrą wartość"

function checkValueNumber(number) {
    if (typeof(number) === "number") {
        alert("Podałeś dobrą wartość");
    } else if(isNaN(number)) {
        alert("Podałeś złą wartość wartość");
    }
}

1

No to zmień komunikat po warunki, na taki, jaki chcesz tu uzyskać.
A w drugiej części zostaw samo else.

1

Odnośnie samego IF-a. Robisz jeden warunek, sprawdzasz czy wartość go spełnia i wtedy jest ok, a jeśli nie spełnia, to nie jest ok i wtedy wykonujesz część alternatywną:

    if (typeof(number) === "number") {
        alert("Podałeś dobrą wartość");
    } else {
        alert("Podałeś złą wartość wartość");
    }

Ale swoją drogą, właśnie do mnie dotarło, że każda wartość wprowadzona przez użytkownika będzie najprawdopodobniej stringiem. Musiałbyś to przeliczyć na wartość liczbową, sprawdzić, czy jest większe od zera i jeszcze sprawdzić czy !="0" i dopiero coś by z tego było.

0

Co może być nie tak ? Cały czas wyświetla "Wprowadzona wartość nie jest liczbą"

function checkValueNumber(number) {
    if(typeof(number) === parseInt(number)) {
        if (number > 0 && number !== 0) {
            alert("Wprowadzona wartość jest liczbą");            
        }
    } else {
        alert("Wprowadzona wartość nie jest liczbą");
    }
}

1

Tak:

var number_str = prompt("podaj numer");
var number_nmb = number_str * 1;

if ((number_nmb>0) || (number_str==="0")) {
    alert("dobrze");
} else {
    alert("zle");
}
1

x = x * 1; - Bo szybciej i nie muszę polecenia pamiętać.

Porównujesz zmienną ze stringiem:
(numberValueIsOK >= "0")
to nie ma sensu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1