如何防止文本元素中的字母?

时间:2012-02-20 15:30:14

标签: html safari textinput

我喜欢输入最大长度为3。

这些输入值应该只是数字而不是字母。

参考这篇文章:why is <input type="number" maxlength="3"> not working in Safari?您可以看到我无法使用 <input type="numbers">

那么如何防止text-input-element中的字母?

2 个答案:

答案 0 :(得分:6)

<script>
function checkPattern(elem) {
  if(!elem.value.match('^' + elem.getAttribute('pattern') + '$')) {
    alert('The value must be 3 digits.');
  }
}   
</script>
<input maxlength=3 pattern=[0-9]{3} onchange=
   checkPattern(this)>

根据应用程序修改错误处理。我们的想法是使用HTML5 pattern属性并使用简单的JavaScript代码进行备份,以支持不支持该属性但禁用JavaScript的浏览器。

答案 1 :(得分:4)

您可以使用jQuery。

$("#myField").keyup(function() {
    $("#myField").val(this.value.match(/[0-9]*/));
});