将文本字段限制为数字

时间:2013-10-01 08:32:14

标签: html html5 numbers internet-explorer-9

我需要将文本字段限制为仅允许数字,因为数据会进入数据库,其中字段数据类型设置为一成不变的,我不会让人们提交货币值的“£”符号。

我知道我可以使用:

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

但是根据大多数好的验证html工具,IE在旧浏览器中不支持它们,我知道IE9(及更老版本)不支持数字,我确信Pattern只有有限的支持。毫无疑问,Chrome和Mozilla的使用范围更广。

无论如何,我可以验证它是否适用于所有浏览器?

1 个答案:

答案 0 :(得分: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();
  }
}

Working Fiddle