检查文本框是否仅包含数字

Bec*_*cky 7 javascript regex jquery

如何检查文本框是否仅包含数字?

谷歌搜索时我遇到了这个.但我想知道是否isNumeric可以用于此目的,或者是否有更简单的方法来检查文本框是否具有数值.

var query = $('#myText').val();
if (parseFloat(query) == NaN) {
    alert("query is a string");
} else {
    alert("query is numeric");
}
Run Code Online (Sandbox Code Playgroud)

Tus*_*har 23

您可以检查用户是否仅使用change输入和正则表达式上的事件输入了数字.

$(document).ready(function() {
    $('#myText').on('change', function() {
        if (/^\d+$/.test($(this).val())) {
            // Contain numbers only
        } else {
            // Contain other characters also
        }
    })
});
Run Code Online (Sandbox Code Playgroud)

正则表达式:

  1. /:正则表达式的分隔符
  2. ^: 以..开始
  3. \d:任何数字
  4. +:一个或多个前面的字符
  5. $: 结束

正则表达式可视化:

在此输入图像描述

演示


如果您只想允许数字,可以使用input-numberpattern

<input type="number" pattern="\d+" />
Run Code Online (Sandbox Code Playgroud)