sakrab
@sakrab
Не будь побежден злом, но побеждай зло добром...

Как определить что в строке есть буквы?

Мммммм...
Вообщем, человек вводить в input число, жмет отправить...
Как проверить что в числе присутствует буква? Например 123n, тт12.
Я его проверяю так:

if(!Number(input.value)){
    alert('Неверный формат числа...');
    //Неверный подход?
}
if(input.value == '') {
    alert('Вы не чего не ввели...');
}


Вообщем ловит if что в числе есть буквы, а если input пустой, то все равно ловит 1-й if.

Как верно проверить по 2-м критериям, что пустое поле и что неверное число?

Спасибо.
  • Вопрос задан
  • 2267 просмотров
Решения вопроса 1
@HAbRAhabp
<input required type="number"/>
Не?
Способ 2
if (isNaN(input.value)) alert('Неверный формат числа...');

Способ 3
<script>
function makeNumber(obj){
	obj.value = obj.value.replace(/,/, '.');
	if (/^(\-)?\d*(\.\d*)?$/.test(obj.value)) obj.defaultValue = obj.value;
	else obj.value = obj.defaultValue;
}
</script>
<input type="text" onkeyup="makeNumber(this)"/>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Denormalization
@Denormalization
var re = /[^0-9]+/g;
var val = "123sss";

if (re.test(val) || val == '') {
  console.log("Есть буквы, или пустое");
} else {
 console.log("Нет букв");
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы