在输入文本框中仅允许数字

时间:2020-06-06 10:41:12

标签: javascript html input

我想创建一个仅允许数字的简单验证表单,例如,如果我在console.log('error,only only number')中输入输入字段223w,我不知道在这里发生了什么,我是js的新手……

HTML代码:

<div class="inputs mt-4" id="with_cash">
    <input id="inpt" type="text" placeholder="enter only number" />
</div>

JavaScript代码:

const test = document.getElementById('inpt')

var extest = test.value

var regex = /^[a-zA-Z]+$/;

var regex2 = /^[0-9]+$/;

//thats not works correctly
withCash.addEventListener('input', function () {

    if (!extest.match(regex)) {
        console.log('error write only number')

    } else if (!extest.match(regex2)) {
        console.log('must input number')
        return false;
    }

})

1 个答案:

答案 0 :(得分:1)

您需要:

  • 了解有关regular expressions
  • 的信息
  • 创建一个仅接受数字/^\d+$/
  • 的正则表达式
  • 在事件处理程序中通过正则表达式regexp.test(value)测试输入值

const input = document.getElementById('input')
const onlyNumbersRegExp = /^\d+$/;

input.addEventListener('input', function() {
  if (onlyNumbersRegExp.test(input.value)) {
    console.log('only numbers');
  } else {
    console.log('not only numbers');
  }
})
<input id="input" type="text" placeholder="enter only number" />

相关问题