Я хочу проверить, вводит ли пользователь значение в один из моих входных данных. Я хочу проверить, что введенное значение не является ни пустой строкой, ни числом. Как мне это сделать, пожалуйста?
const tempInput = parseInt(document.querySelector("#temp").value);
// this is my input
if (tempInput === '' || tempInput !== Nan){
code block
}
это не работает к сожалению! Спасибо!!
В HTML 5 лучше всего это сделать с помощью поля input.pattern.
И не нужно проверять, если tempInput === ''
, это не может произойти после того, как вы использовали parseInt
на нем. Просто if (isNaN(tempInput)) { /* the input is invalid */ }
var value = document.getElementById("temp").value;
if (value.length > 0 && !isNaN(value))
{
//code
}
var theInput = document.getElementById("temp");
var regex = /(?:[A-Za-z].*?\d|\d.*?[A-Za-z])/;
theInput.addEventListener("keyup", function () {
if (theInput.value.length == 0){
console.info("Is empty");
} else if (!!theInput.value.match(regex)){
console.info("Both number and characters");
} else if (theInput.value.length > 0 && !isNaN(theInput.value)){
console.info("Number");
} else {
console.info("NOT a Number");
}
});
<input id = "temp" type = "text">
Вы должны использовать метод
isNaN()
, чтобы проверить, не является ли ввод числом. пример использованияisNaN("test")