Я пытаюсь выполнить некоторую проверку на стороне клиента при вводе пользователя, чтобы убедиться, что все записи являются числами. (Более конкретно, 2 цифры плюс десятичные числа.)Подтвердить isNaN, но разрешить пробелы
Я понимаю эту часть, но моя проблема заключается в том, использую ли я isNaN или записываю регулярное выражение для проверки формата, оно забирает пустые записи как недопустимые.
Вот мой код, вы можете увидеть все различные методы, которые я пытался принять пустые поля, которые закомментированы. Ни один из них не работают, они все возвращенные заготовки, как не рядом ...
function validateData() {
// var re = /^\s*?/;
$("input").each(function(index) {
if(isNaN(parseFloat($(this).val())) === false) {
console.log("Field " + index + " is ok");
// }else if
// ((($(this).val()).trim()) == "") {
// console.log("Field " + index + " is ok");
// console.log($(this).val());
// } else if
// (re.test($(this).val())) {
// } else if
// (($(this).val()).trim().isEmpty()) {
// } else if
// ((parseFloat($(this).val())).trim().isEmpty()) {
// } else if
// (($(this).text()) === "") {
// console.log("Field " + index + " is ok");
} else {
$("#messages").html("Please enter only numbers");
console.log("Field " + index + " is not a number!");
};
});
};
Вот что я узнал. Подтверждение ввода типа HTML5 = «число» не выполняется в пустых полях, поэтому после него не будет выполняться проверка javascript. Если я выберу этот атрибут, он будет работать нормально. Однако мне нравится атрибут arrows & step, который совпадает с номером. Есть ли способ иметь и то и другое? – heat222
Я новичок в stackoverflow. Может кто-нибудь сказать мне, почему теперь рядом с моим вопросом? – heat222