Ограничение текстовых полей числами

0

Мне нужно ограничить текстовые поля, чтобы разрешать номера только по мере того, как данные поступают в базу данных, где задаются типы данных полей, я не хочу, чтобы люди подавали знаки "Е" для денежных значений.

Я знаю, что могу использовать:

 input type=number and also pattern [0-9] 

Но по большей части хороших инструментов проверки html IE не поддерживает их в старых браузерах, я знаю, что IE9 (и старше) не поддерживает номер, и я уверен, что шаблон имеет ограниченную поддержку. Неудивительно, что Chrome и Mozilla гораздо более широко используются.

В любом случае, я могу проверить его для работы во всех браузерах?

Показать ещё 2 комментария
Теги:
numbers
internet-explorer-9

1 ответ

0
Лучший ответ

Это будет работать и в каменном веке.

(Не работает в сценарии ctrl+v)

<input type='text' onkeypress='validate(event)' />

function validate(evt) {
  var theEvent = evt || window.event;
  var key = theEvent.keyCode || theEvent.which;
  key = String.fromCharCode( key );
  var regex = /[0-9]|\./;
  if( !regex.test(key) ) {
    theEvent.returnValue = false;
    if(theEvent.preventDefault) theEvent.preventDefault();
  }
}

Рабочий скрипт

  • 0
    Приветствие для этого я надеялся найти способ, который не использовал бы JS, если это возможно, потому что я знаю, что вы можете отключить JavaScript, но если это так, мне придется идти, то пусть будет так.
  • 0
    @ Крауч со всеми моими знаниями, я не думаю, что это возможно только без использования JS
Показать ещё 9 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню