2016-12-01 2 views
0

Я пытаюсь отключить пользователя для ввода dot .. Вот что я пытаюсь до сих порОтключить входную точку '.' javascript

$('#num').on('input', function (event) { 
    this.value = this.value.replace(/^[0-9]+\.?[0-9]*$//./, ''); 
}); 

с моим сценарием выше, я все еще может ввести точка .. В любом случае, чтобы пользователь не вводил точку .?

заранее спасибо, и извините за мой плохой engllush

+0

Вы получаете ошибку синтаксиса в '$ //. /'? Вы можете просто заменить точки '.replace (/\.+/ g, '');' – Tushar

+2

Я отключил точку, используя это: http://jsfiddle.net/pratikgaloria/8nz11auz/ – FreedomPride

+1

Об этом уже было сказано в другом сообщении. Я связал это. [Answered Here] (http://stackoverflow.com/questions/31072376/javascript-disable-only-dot-special-charecter-in-input-field) –

ответ

2

keyCode Проверьте на keydown события и сделать preventDefault если это 190 (ключевой период). Ниже приведен тест «Выполнить фрагмент кода».

$('#num').keydown(function(e) { 
 
    if (e.keyCode === 190) { 
 
    e.preventDefault(); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="text" id="num">

+0

Что такое '190'? – YVS1102

+0

Это числовое значение KeyCode для ключа периода. Подробнее о keyCodes читайте здесь: https://css-tricks.com/snippets/javascript/javascript-keycodes/ –

+0

Лучше поздно, чем никогда, но это не сработает, если вы используете клавишу периода на вашем цифровом клавиатуре. – Metalmini

Смежные вопросы