如何从输入类型号防止`-`和`+`字符?

时间:2017-08-22 12:10:53

标签: html5 css3

<input type="number" min="0" step="1"  pattern="[0-9]" />

<br><br>

但上述输入允许+-键。如何使此输入类型严格仅允许0-9而不使用js

2 个答案:

答案 0 :(得分:0)

使用这个简短的技巧

&#13;
&#13;
<input type="number" onkeypress="return event.charCode >= 48" min="1" >
&#13;
&#13;
&#13;

答案 1 :(得分:0)

没有JS就不可能。

&#13;
&#13;
const allNumberInputs = document.querySelectorAll( 'input[type=number]' );
function disallowPrefixEvent( e ) {
  const keyCode = e.keyCode || e.which;
  if ( keyCode === 187 || keyCode === 189 ) {
    e.preventDefault();
  }
}
for ( let i = 0; i < allNumberInputs.length; i += 1 ) {
  allNumberInputs[ i ].addEventListener( 'keydown', disallowPrefixEvent );
}
&#13;
<input type="number" min="0" step="1"  pattern="[0-9]" />
&#13;
&#13;
&#13;