Нужно вставить «точку» в текстовое поле, где текстовое поле проверяется с помощью JavaScript для ввода только числовых значений - PullRequest
0 голосов
/ 24 августа 2009

Вот код, который отлично работает и проверяет ввод только цифр в текстовом поле Теперь у меня есть проблема там. Моя проблема заключается в том, что мне нужно ввести десятичные значения там. Так что мне нужно ввести «DOT» в текстовом поле. Эта проверка была выполнена с использованием значений ASCII. Я даже использую значение ASCII 'DOT -> 249, 250'. Но это не работает. Любая помощь будет оценена.

function enterNumerics(e)
{           
    if (!e) var e = window.event;

    if(!e.which) key = e.keyCode; 

    else key = e.which; 

    if((key>=48)&&(key<=57)||key==8||key==9||key==32||key==45 || key==43)
    {
            key=key; 
            document.getElementById('bal').innerHTML ='';
            return true;
    }
    else
    {
       document.getElementById('bal').innerHTML =
            "&nbsp;&nbsp;Please Enter Numerical Values ";
       return false;
    }
}

Заранее спасибо .....

Ответы [ 4 ]

2 голосов
/ 24 августа 2009

Вместо этого вы можете использовать регулярные выражения:

function validate(){
    var val=document.getElementById("field").value; //Field value 
    if(/^[0-9\.]+$/.test(val)){    
      document.getElementById('bal').innerHTML='';    
      return true; 
    }else{    
      document.getElementById('bal').innerHTML="  Please Enter Numerical Values ";    
      return false; 
    }
}

затем вы вызываете функцию проверки с событием onKeyPress

1 голос
/ 24 августа 2009

Точка имеет значение 46, просто разрешите это в операторе if.

О, вы получаете keyCode, а не charCode, так что это при нажатии клавиши, а не при нажатии клавиши. Не обращайте внимания на вышеприведенное - точка равна 190.

0 голосов
/ 20 июля 2013

ASCII-код для точки (.) Равен 249 согласно ASCII-таблице , поэтому я надеюсь, что e.keyCode может не представлять значение ASCII.

0 голосов
/ 24 августа 2009

Использование маскированного ввода решает проблему и улучшает решение.

Существует jQuery-плагин , который может это сделать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...